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

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

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

httpclient ב angular - שליחה בpost לא מקבל נתונים.

מתוזמן נעוץ נעול הועבר תכנות
7 פוסטים 3 כותבים 111 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • A מנותק
    A מנותק
    avi rz
    כתב ב נערך לאחרונה על ידי
    #1

    בס"ד

    יש לי פונקציה ששולחת נתונים לשרת: user_name ן password
    השרת לא מקבל את הנתונים.
    וזה בשליחה אנגולרית post ב httpClient
    משא"כ ב postman הוא מקבל את הנתונים ע"י שליחה ב params
    והשרת מקבל אותם רק בquery
    להלן מצורפת תמונת

    1. שליחת הנתונים באנגולר:
      serivce in angular.PNG
      זה אחרי הוספות שהציעו אנשים מרחבי העולם. אבל גם בלעדי ההוספות, התגובה הייתה אותו דבר.
    2. התגובה בקונסול:
      console בדפדפן.PNG
      3.הדפסת הנתונים בצד שרת:
      ההדפסות בצד שרת.PNG
    3. התגובה בטרמינל:
      תגובת שרת.PNG

    תודה רבה לכולם

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

      אל תעלה קוד כצילומי מסך, זה לא נוח.
      תעתיק את הקוד ותדביק אותו כאשר לפניו ואחריו יש שלושה טילדות ~~~ כדי לעצב אותו כקוד.

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

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

      תגובה 1 תגובה אחרונה
      3
      • yossizY מנותק
        yossizY מנותק
        yossiz
        השיב לavi rz ב נערך לאחרונה על ידי yossiz
        #3

        @avi-rz אמר בhttpclient ב angular - שליחה בpost לא מקבל נתונים.:

        השרת לא מקבל את הנתונים.

        אתה שלחת את הנתונים ב-body. בשרת ה-body הוא undefined, אולי אתה לא משתמש ב-body-parser?
        express לא נותן לך body בברירת מחדל. צריך לייבא את המודול ולהשתמש בו.

        const bodyParser = require('body-parser');
        app.use(bodyParser.json());
        

        בנוסף, השרת מצפה לקבל את השם משתמש וסיסמה ב-query אם כן צריך לעשות את זה ככה:

        return this.http.post(`//localhost:3000/users/sessions/add/?username=${user_name}&password=${password}`, null, { headers });
        

        📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

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

          @yossiz לפי שתי ההערות הנכונות שלך צריך להיות שגיאה בצד שרת, ותשובה של 500 ללקוח.
          מהצילומי מסך נראה שהשגיאה היא בצד לקוח והבקשה לא נשלחת (שהרי אין שגיאת רשת בקונסול).

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

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

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

            @dovid
            (זה קצת בזבוז לעסוק בניחושים... אבל) בחלק של הקוד של צד השרת שחשוף לנו אין סיבה לשגיאה. מהסטאק בצילום של הקונסול נראה שהשגיאה לא קורה בפונקציית השליחה. אני מנחש (מבלי להכיר את ה-SessionsService של אנגולר) שהשגיאה קורה אחרי קבלת התשובה (הריקה, מן הסתם).

            📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

            תגובה 1 תגובה אחרונה
            4
            • A מנותק
              A מנותק
              avi rz
              השיב לyossiz ב נערך לאחרונה על ידי avi rz
              #6

              @yossiz אמר בhttpclient ב angular - שליחה בpost לא מקבל נתונים.:

              בנוסף, השרת מצפה לקבל את השם משתמש וסיסמה ב-query אם כן צריך לעשות את זה ככה:
              return this.http.post(//localhost:3000/users/sessions/add/?username=${user_name}&password=${password}, null, { headers });

              דרך הquery ניסיתי ב postman,
              אבל בהחלט אני רוצה לקבל ב body אבל לעת עתה, זה גם ריק.

              @yossiz אמר בhttpclient ב angular - שליחה בpost לא מקבל נתונים.:

              שהשגיאה קורה אחרי קבלת התשובה (הריקה, מן הסתם).

              אכן,
              כי אני מקבל סטטוס 200 בשרת - כפי שצולם, רק שהנתונים ריקים -לכן סביר להניח שמה שכתב

              @yossiz אמר בhttpclient ב angular - שליחה בpost לא מקבל נתונים.:

              express לא נותן לך body בברירת מחדל. צריך לייבא את המודול ולהשתמש בו.

              יוביל לפתרון.

              תגובה 1 תגובה אחרונה
              0
              • A מנותק
                A מנותק
                avi rz
                כתב ב נערך לאחרונה על ידי avi rz
                #7

                @yossiz תודה רבה זה היה הפתרון.

                @yossiz אמר בhttpclient ב angular - שליחה בpost לא מקבל נתונים.:

                אתה שלחת את הנתונים ב-body. בשרת ה-body הוא undefined, אולי אתה לא משתמש ב-body-parser?
                express לא נותן לך body בברירת מחדל. צריך לייבא את המודול ולהשתמש בו.
                const bodyParser = require('body-parser'); app.use(bodyParser.json());

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

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

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

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