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

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

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

בקשת http שהתגובה ריקה

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

    אני ניגש לדף PHP באמצעות fetch.
    הקוד בשרת שניגשתי אליו עד היום עובד תקין לחלוטין, וגם היום כשאני ניגש בדרך הרגילה (עם GET) הוא חוזר תקין. רק עכשיו בפניה בPOST יש קוד 200 אבל התשובה עצמה ריקה.
    וכשאני פותח את אותה הפניה (בלחיצה כפולה) בURL של הדפדפן חוזרת תשובה תקינה. (כנראה כי בדפדפן זה נשלח GET)

    ניסיתי לעבור על הPHP ובתחילת הקוד אני יכול להדפיס משהו אבל אחרי IF אחד זה כבר יחזור ריק.

    השוויתי בין ההיידרים בבקשה שחזרה עם תשובה (מה שהודפס לפני הIF הראשון שבקוד) לזו שחזרה ריקה, וראיתי שבתשובה שחזרה ריקה אז יש היידר נוסף
    Cache-Control: no-store, no-cache, must-revalidate

    מה זה אומר לגבי? (או שלא זה הנקודה וצריך לחפש משהו אחר).

    תודה.

    הקוד

    await fetch("/index.php?p=get_functions&format=json", {
                            method: "post",
                            headers: {
                                'Accept': 'application/json',
                                'Content-Type': 'application/json',
                                
                            },
        
                            //make sure to serialize your JSON body
                            body: JSON.stringify({
                                
                            })
                            })
                        .then( (response) => { console.log(response)
                        //do something awesome that makes the world a better place
                        });
    
    תגובה 1 תגובה אחרונה
    0
    • dovidD מחובר
      dovidD מחובר
      dovid ניהול
      כתב ב נערך לאחרונה על ידי dovid
      #2

      בfetch התשובה הראשונית רק מכילה קוד מצב וכותרות (שזה ההתחלה של התשובה), לא את גוף התשובה מה שנקרא body/payload שיש את זה גם בבקשה.
      זה שני שלבים במציאות כי גוף התשובה יכול להיות גדול/ארוך/אין סופי.
      כדי לגשת לתוכן קוראים למתודה text או json שמחזירים גם פרומייז ש"נפתר" בסיום הקבלה והעיבוד, ככה:

      await fetch("/index.php?p=get_functions&format=json", {
          method: "post",
          headers: {
              'Accept': 'application/json',
              'Content-Type': 'application/json',
          },
          //make sure to serialize your JSON body
          body: JSON.stringify({})
      }).then(response => response.text() 
      ).then(resText => console.log(resText) );
      

      אגב אם באמת בדוגמה שלך הבקשה מכילה body עם JSON של אובייקט ריק, זה בהחלט מיותר, אפשר להשמיט את השורה הזאת.

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

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

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

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

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

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