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

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

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

התחברות מJS ל API של PYTHON

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

    כתבתי צד שרת בפייתון
    זה רץ על הדפדפן .
    עכשיו אני מנסה לחבר לצד לקוח בסיסי HTML+JS
    ואני לא מצליחה לטעון נתונים , נתקע לי בפרומיס
    וכשאין לי שגיאה בפרומיס אז גם אין נתונים

    <script>
            url = 'http://127.0.0.1:5000';
            let requestRsponse = fetch( url, { mode: 'no-cors' })
    
            async function funcRequest(url){
            await fetch(url, { mode: 'no-cors' })
                .then((response) => {
                    console.log(response)
                return response.json(); // data into json
                })
                .then((data) => {
                // Here we can use the response Data
                })
                .catch(function(error) {
                console.log(error);
                });
            }
           funcRequest(url);
            
    //data=fetch('http://127.0.0.1:5000/persons', { mode: 'no-cors' })
            
    
            //let list = document.getElementById("clientList");
        // console.log(data)
         // data.forEach((item) => {
           // let li = document.createElement("li");
           // li.innerText = item;
         //   list.appendChild(li);
         // });
         
    
          
         
        </script>
    
    י תגובה 1 תגובה אחרונה
    0
    • י מנותק
      י מנותק
      יוסף בן שמעון
      השיב לשרה רחל ב נערך לאחרונה על ידי
      #2

      @שרה-רחל שורה 3 מיותרת, יש שם קריאה ריקה לשרת בלי לקרוא את התשובה.

      האם אין שום שגיאות בקונסול?

      ש תגובה 1 תגובה אחרונה
      1
      • ש מנותק
        ש מנותק
        שרה רחל
        השיב ליוסף בן שמעון ב נערך לאחרונה על ידי
        #3

        @יוסף-בן-שמעון
        לא אין שגיאות

        י תגובה 1 תגובה אחרונה
        0
        • י מנותק
          י מנותק
          יוסף בן שמעון
          השיב לשרה רחל ב נערך לאחרונה על ידי יוסף בן שמעון
          #4

          @שרה-רחל פתחו את כלי המפתחים, נווטו ללשונית Network, ותבדקו האם אתם רואים את הבקשה נשלחת לכתובת 127.0.0.1:5000, ואם כן, האם מתקבלת תשובה
          d35b34e7-0a12-4a9d-a1a9-db6ee38648e5-image.png

          ש תגובה 1 תגובה אחרונה
          2
          • ש מנותק
            ש מנותק
            שרה רחל
            השיב ליוסף בן שמעון ב נערך לאחרונה על ידי
            #5

            @יוסף-בן-שמעון
            כן
            Screenshot 2022-10-20 211115.png

            י תגובה 1 תגובה אחרונה
            0
            • י מנותק
              י מנותק
              יוסף בן שמעון
              השיב לשרה רחל ב נערך לאחרונה על ידי
              #6

              @שרה-רחל ובלשונית Response מתקבלת התגובה הרצויה?
              אז זה בעצם עובד מעולה, איפה הבעיה?

              ש תגובה 1 תגובה אחרונה
              1
              • ש מנותק
                ש מנותק
                שרה רחל
                השיב ליוסף בן שמעון ב נערך לאחרונה על ידי
                #7

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

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

                  @יוסף-בן-שמעון אבל איל אני מגיעה לדטא ?
                  הרי הדפסתי לקונסול גם את RESPONE וגם את DATA
                  וכך זה מודפס :Screenshot 2022-10-20 223450.png

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

                    @יוסף-בן-שמעון
                    ואני לא מצליחה להגיע לתוכן בשביל להדפיס אותו על המסך

                    <!DOCTYPE html>
                    <html>
                      <head> </head>
                      <body>
                        <center><h1>Clients:</h1></center>
                        <ul id="clientList"></ul>
                    
                        <script>
                            url = 'http://127.0.0.1:5000/persons';
                            persons =[]
                            async function funcRequest(url){
                            await fetch(url, { mode: 'no-cors' })
                                .then((response) => {
                                    persons.push(response)
                                    console.log(response)
                    
                                return response; // data into json
                                })
                                .then((data) => {
                                // Here we can use the response Data
                                console.log("data:",data)
                                })
                                .catch(function(error) {
                                console.log(error);
                                });
                            }
                           funcRequest(url);
                            
                                //fetch('http://127.0.0.1:5000/persons', { mode: 'no-cors' })
                            
                    
                            let list = document.getElementById("clientList");
                            console.log(persons)
                            persons.forEach((item) => {
                            let li = document.createElement("li");
                            li.innerText = item;
                            list.appendChild(li);
                           });
                         
                    
                          
                         
                        </script>
                      </body>
                    </html>
                    

                    וכך נראה הקונסול:Screenshot 2022-10-20 225126.png

                    י תגובה 1 תגובה אחרונה
                    0
                    • י מנותק
                      י מנותק
                      יוסף בן שמעון
                      השיב לשרה רחל ב נערך לאחרונה על ידי
                      #10

                      @שרה-רחל בשורה 14 צריך לכתוב

                      return response.json()
                      

                      לא לעשות פוש,
                      בשורה 20 צריך לעשות את הפוש, ורק אז לעשות

                      console.log(persons)
                      

                      בתוך הפונקציה then ! לא מבחוץ

                      ש תגובה 1 תגובה אחרונה
                      0
                      • ש מנותק
                        ש מנותק
                        שרה רחל
                        השיב ליוסף בן שמעון ב נערך לאחרונה על ידי
                        #11

                        @יוסף-בן-שמעון
                        מביא לי שגיאה:
                        Exception has occurred: SyntaxError: Unexpected end of input
                        Screenshot 2022-10-20 232801.png

                        י תגובה 1 תגובה אחרונה
                        0
                        • י מנותק
                          י מנותק
                          יוסף בן שמעון
                          השיב לשרה רחל ב נערך לאחרונה על ידי
                          #12

                          @שרה-רחל כנראה השרת לא שולח תגובה חוקית, אולי הגייסון לא תקני, או שחסרים הידרים Content-type: application/json.
                          לא יודע איך מוסיפים הידרים בפייתון

                          ש תגובה 1 תגובה אחרונה
                          0
                          • ש מנותק
                            ש מנותק
                            שרה רחל
                            השיב ליוסף בן שמעון ב נערך לאחרונה על ידי שרה רחל
                            #13

                            @יוסף-בן-שמעון
                            כונתכם שהגייסון המתקבל אינו חוקי?
                            אבל לפי הRESPONE כן מתקבל גייסון חוקי
                            ומהם הידרים?

                            י תגובה 1 תגובה אחרונה
                            0
                            • י מנותק
                              י מנותק
                              יוסף בן שמעון
                              השיב לשרה רחל ב נערך לאחרונה על ידי
                              #14

                              @שרה-רחל תעלו דוגמת קוד קטנה איך השרת שולח את הגייסון

                              ש תגובה 1 תגובה אחרונה
                              0
                              • ש מנותק
                                ש מנותק
                                שרה רחל
                                השיב ליוסף בן שמעון ב נערך לאחרונה על ידי
                                #15

                                @יוסף-בן-שמעון ```
                                @app.route('/persons', methods=['GET'])
                                def get():
                                list_p = []
                                p = person.find()
                                list(map(list_p.append, p))
                                json_p = dumps(list_p)
                                return json_p

                                י תגובה 1 תגובה אחרונה
                                0
                                • י מנותק
                                  י מנותק
                                  יוסף בן שמעון
                                  השיב לשרה רחל ב נערך לאחרונה על ידי
                                  #16

                                  @שרה-רחל תבדקו אם זה פותר את הבעיה

                                  @app.route('/persons', methods=['GET'])
                                  def get():
                                      headers = {"Content-Type": "application/json"}
                                      list_p = []
                                      p = person.find()
                                      list(map(list_p.append, p))
                                      json_p = dumps(list_p)
                                      return json_p
                                  
                                  
                                  
                                  ש תגובה 1 תגובה אחרונה
                                  0
                                  • ש מנותק
                                    ש מנותק
                                    שרה רחל
                                    השיב ליוסף בן שמעון ב נערך לאחרונה על ידי
                                    #17

                                    @יוסף-בן-שמעון
                                    אותו הדבר

                                    קומפיונטק תגובה 1 תגובה אחרונה
                                    0
                                    • קומפיונטק מנותק
                                      קומפיונטק מנותק
                                      קומפיונט
                                      השיב לשרה רחל ב נערך לאחרונה על ידי
                                      #18

                                      @שרה-רחל

                                      אולי ככה זה יעבוד:
                                      (jsonify במקום dumps)

                                      @app.route('/persons', methods=['GET'])
                                      def get():
                                          list_p = []
                                          p = person.find()
                                          list(map(list_p.append, p))
                                          json_p = jsonify(list_p)
                                          return json_p
                                      
                                      תגובה 1 תגובה אחרונה
                                      0
                                      • A מנותק
                                        A מנותק
                                        aaron
                                        כתב ב נערך לאחרונה על ידי
                                        #19

                                        @שרה-רחל יעזור לראות את כל הצד שרת כדי להבין טוב יותר.
                                        בהנחה ומדובר בflask, אז החזרה של dict/list אמור להחזיר תשובת JSON עם ההדר הנכון.
                                        https://flask.palletsprojects.com/en/2.2.x/quickstart/#apis-with-json

                                        aaron.tchumim@gmail.com
                                        Hetzner - שרתים וירטואליים ופיזיים במחירים מעולים (קישור שותפים)

                                        ווצאפ API - תיעוד שירות API לא רשמי.

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

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

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

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