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

זה אחרי הוספות שהציעו אנשים מרחבי העולם. אבל גם בלעדי ההוספות, התגובה הייתה אותו דבר. - התגובה בקונסול:

3.הדפסת הנתונים בצד שרת:

- התגובה בטרמינל:

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

זה אחרי הוספות שהציעו אנשים מרחבי העולם. אבל גם בלעדי ההוספות, התגובה הייתה אותו דבר. - התגובה בקונסול:

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 }); - שליחת הנתונים באנגולר:
-
@yossiz לפי שתי ההערות הנכונות שלך צריך להיות שגיאה בצד שרת, ותשובה של 500 ללקוח.
מהצילומי מסך נראה שהשגיאה היא בצד לקוח והבקשה לא נשלחת (שהרי אין שגיאת רשת בקונסול). -
@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 });@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 בברירת מחדל. צריך לייבא את המודול ולהשתמש בו.
יוביל לפתרון.
-
@yossiz תודה רבה זה היה הפתרון.
@yossiz אמר בhttpclient ב angular - שליחה בpost לא מקבל נתונים.:
אתה שלחת את הנתונים ב-body. בשרת ה-body הוא undefined, אולי אתה לא משתמש ב-body-parser?
express לא נותן לך body בברירת מחדל. צריך לייבא את המודול ולהשתמש בו.
const bodyParser = require('body-parser'); app.use(bodyParser.json());
שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.
נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.
בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗
הרשמה התחברות