דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. שליחה לשרת בmethod post בjs

שליחה לשרת בmethod post בjs

מתוזמן נעוץ נעול הועבר תכנות
6 פוסטים 2 כותבים 740 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • chagoldC מנותק
    chagoldC מנותק
    chagold
    כתב ב נערך לאחרונה על ידי chagold
    #1

    לא הצלחתי לעשות שליחה לשרת בmethod post בjs.

    אני מצרף דוגמא (למרות שהיא מנופחת כנראה, מחוסר היכירותי את השוק).

    function adCon(content){
    //console.log(JSON.parse(content))
    console.log(this.responseText)    
    }
    
    function dddddd(doAtEnd) {  
    var xhttp;  
    xhttp = new XMLHttpRequest();    
    xhttp.onreadystatechange = function() {
        if (this.readyState == 4 && this.status == 200) {  
            doAtEnd(this.responseText);
               
        }   
    };
    xhttp.open("POST", "index.php");
    xhttp.setRequestHeader('p','ddd');
    
    xhttp.send();   
    }  
    

    תודה מראש
    משום מה לאחר הרבה שיטוטים לא מצאתי דוגמא טובה.

    תגובה 1 תגובה אחרונה
    0
    • dovidD מנותק
      dovidD מנותק
      dovid ניהול
      כתב ב נערך לאחרונה על ידי dovid
      #2

      כתבת פונקציות אבל לא הבאת קוד שקורא להם. עצם זה שיש פונקציה לא אומר שהיא תרוץ.
      כמו"כ חסר סוגר בפונקציה השניה.
      בדוק אם ככה עובד לך:

      function adCon(content) {
        //console.log(JSON.parse(content))
        console.log(this.responseText)
      }
      
      function dddddd(doAtEnd) {
        var xhttp = new XMLHttpRequest();
        xhttp.onreadystatechange = function() {
          if (this.readyState == 4 && this.status == 200) {
            doAtEnd(this.responseText);
      
          }
        };
        xhttp.open("POST", "index.php");
        xhttp.setRequestHeader('p', 'ddd');
      
        xhttp.send();
      }
      
      dddddd(adCon);
      

      אם לא עובד תראה אם יש שגיאה בקונסול.
      (אגב עם איזה IDE אתה עובד? איפה אתה כותב את הקוד?)

      מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

      בכל נושא אפשר ליצור קשר dovid@tchumim.com

      chagoldC 2 תגובות תגובה אחרונה
      1
      • chagoldC מנותק
        chagoldC מנותק
        chagold
        השיב לdovid ב נערך לאחרונה על ידי chagold
        #3

        @dovid אמר בשליחה לשרת בmethod post בjs:

        (אגב עם איזה IDE אתה עובד? איפה אתה כותב את הקוד?)

        vscode

        תגובה 1 תגובה אחרונה
        0
        • dovidD מנותק
          dovidD מנותק
          dovid ניהול
          כתב ב נערך לאחרונה על ידי
          #4

          אז לפני שאתה מעלה לפה קוד (וגם סתם ככה...) תלחץ על Alt-Shift-F.
          (כדי להזיח את הקוד עבור העיצוב פה תוכל לפני העתקה ללחות על טאב כשהטקסט בחור, ולביול טאב מיותר לחץ על Alt+Tab).

          מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

          בכל נושא אפשר ליצור קשר dovid@tchumim.com

          תגובה 1 תגובה אחרונה
          1
          • chagoldC מנותק
            chagoldC מנותק
            chagold
            השיב לdovid ב נערך לאחרונה על ידי chagold
            #5

            @dovid אמר בשליחה לשרת בmethod post בjs:

            כתבת פונקציות אבל לא הבאת קוד שקורא להם. עצם זה שיש פונקציה לא אומר שהיא תרוץ.
            כמו"כ חסר סוגר בפונקציה השניה.
            בדוק אם ככה עובד לך:

            function adCon(content) {
              //console.log(JSON.parse(content))
              console.log(this.responseText)
            }
            
            function dddddd(doAtEnd) {
              var xhttp = new XMLHttpRequest();
              xhttp.onreadystatechange = function() {
                if (this.readyState == 4 && this.status == 200) {
                  doAtEnd(this.responseText);
            
                }
              };
              xhttp.open("POST", "index.php");
              xhttp.setRequestHeader('p', 'ddd');
            
              xhttp.send();
            }
            
            dddddd(adCon);
            

            אם לא עובד תראה אם יש שגיאה בקונסול.

            עכשיו ניסיתי שוב, לא ברור לי מה עבד ומה לא עבד.
            לא היה שגיאה בקונסול, והוא החזיר לי תוצאה, אבל ראיתי שלמרות שב-headers הפרמטר של ה'p' (ה-ddd) מופיע, אבל בצד השרת כשאני מנסה לזהות את הפרמטר, ככה

             if (isset($_REQUEST["p"])
            

            אז הוא לא מזהה אותו כקיים. ולכן אני לא יכול לעבוד עם הפרמטר הזה.
            מה הבעיה?

            תגובה 1 תגובה אחרונה
            0
            • dovidD מנותק
              dovidD מנותק
              dovid ניהול
              כתב ב נערך לאחרונה על ידי dovid
              #6
              xhttp.setRequestHeader('p', 'ddd');
              

              זה מוסיף כותרת (header).
              $_REQUEST, לא ניגש לheaders אלא לפרמטרים או בשורת הכתובת (query string) או בגוף הבקשה (body) או בעוגיות.

              בשביל להוסיף פרמטר לגוף הבקשה, וממילא שיכול להיקרא ע"י ה$_REQUEST יש לתת את הערכים כארגומנט למתודה send. אפשר להשתמש עם FormData או טקסט רגיל:

              var data = new FormData();
              data.append('p', 'ddd')
              xhttp.send(data);
              

              טקסטואלי:

              var data = "p=ddd";
              xhttp.send(data);
              

              מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

              בכל נושא אפשר ליצור קשר dovid@tchumim.com

              תגובה 1 תגובה אחרונה
              1

              בא תתחבר לדף היומי!
              • התחברות

              • אין לך חשבון עדיין? הרשמה

              • התחברו או הירשמו כדי לחפש.
              • פוסט ראשון
                פוסט אחרון
              0
              • דף הבית
              • קטגוריות
              • פוסטים אחרונים
              • משתמשים
              • חיפוש
              • חוקי הפורום