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

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

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

שגיאת cors (למרות אישור בצד שרת) רק בשיטת post

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

    בפרוייקט שעובד על המחשב שלי, צד הקליינט vue רץ (במצב פיתוח) ב-localhost:8080, ניגש לשרת php ב-localhost:200.

    בצד השרת הגישה פתוחה זה עידן ועידנים ככה:

    header('Access-Control-Allow-Origin: http://localhost:8080'); 
    header('Access-Control-Allow-Credentials: true');
    header('Access-Control-Allow-Methods: GET, PUT, POST, DELETE, OPTIONS');
    

    אני משתמש הרבה בfetch בשיטת get. כעת הייתי צריך לשלוח הרבה נתונים בפרמטר body, ולכן רציתי לשלוח את הבקשה בpost.

    עשיתי את השליחה תקינה (ככה נראה לי) אבל משום מה נתקע בcors.

    הקוד של הpost הוא:

    fetch('http://localhost:200/index.php', {
                    method: 'POST',
                    credentials: 'include',
                    body: JSON.stringify({
                        body: 
                            {
                                p: 'update',
                                data:data,
                                format: 'json'
                            },
                        
                    }),
                    headers: {
                        'Content-type': 'application/json; charset=UTF-8'
                    },
                })
                .then(response => response.json())
                .then(
                    data => {
                        if(data=='execution_time_no_selected'){
    
                            
                            /*....*/
                        
                        }else{
                            
                            /*....*/
                        }
                })
                .catch(error => {
                        
                         /*....*/
                        
                    }
                );
    
    dovidD תגובה 1 תגובה אחרונה
    0
    • dovidD מנותק
      dovidD מנותק
      dovid ניהול
      השיב לchagold ב נערך לאחרונה על ידי dovid
      #2

      אני לא יודע לעזור אבל תנסה להתחקות אחרי מה שקורה:
      א. בדוק בNetwork את הבקשה שנכשלת, תראה את הResponse Header, האם יש שמה זכר לכותרות ששמת?
      ב. לשון השגיאה המדוייקת יכול להיות מעניין.

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

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

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

        @dovid כתב בשגיאת cors (למרות אישור בצד שרת) רק בשיטת post:

        אני לא יודע לעזור אבל תנסות להתחקות אחרי מה שקורה:
        א. בדוק בNetwork את הבקשה שנכשלת, תראה את הResponse Header, האם יש שמה זכר לכותרות ששמת?
        ב. לשון השגיאה המדוייקת יכול להיות מעניין.

        aefeed68-49b6-4a8b-97c9-a0ee5398cab5-image.png

        3ef9a8d7-c276-4b37-be0c-081d4b416324-image.png

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

          @chagold הצגת את כותרות הבקשה ולא את כותרות התשובה,
          ולא הראית את השגיאה (מופיעה בקונסול).

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

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

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

            @dovid 701e222e-9be7-4175-b9ac-fca056c89e9c-image.png

            Access to fetch at 'http://localhost:200/index.php' from origin 'http://localhost:8080' has been blocked by CORS policy: Request header field content-type is not allowed by Access-Control-Allow-Headers in preflight response.
            index.js?95ac:108    
            POST http://localhost:200/index.php net::ERR_FAILED
            
            י chagoldC 2 תגובות תגובה אחרונה
            0
            • י מנותק
              י מנותק
              יוסף בן שמעון
              השיב לchagold ב נערך לאחרונה על ידי
              #6

              @chagold נראה לי שאתה צריך להוסיף גם אישור להידרים

                  res.header('Access-Control-Allow-Headers', '*');
              
              
              תגובה 1 תגובה אחרונה
              4
              • chagoldC מנותק
                chagoldC מנותק
                chagold
                השיב לchagold ב נערך לאחרונה על ידי
                #7

                @chagold מצאתי:

                הוספתי בשרת:

                header('Access-Control-Allow-Headers: Origin, Content-Type, X-Auth-Token , Authorization');
                
                

                קרדיט: github Copilot

                I dovidD 2 תגובות תגובה אחרונה
                2
                • I מנותק
                  I מנותק
                  ivrtikshoret
                  השיב לchagold ב נערך לאחרונה על ידי
                  #8

                  @chagold כתב בשגיאת cors (למרות אישור בצד שרת) רק בשיטת post:

                  קרדיט: github Copilot

                  הוא כנראה השתמש עם התשובה של @יוסף-בן-שמעון 🙄

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

                    @chagold שים לב שזה היה כתוב בשגיאה... שווה לקרוא שגיאות בעיון.

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

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

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

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

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

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