Skip to content

Latest commit

 

History

History
61 lines (44 loc) · 2.57 KB

step08.md

File metadata and controls

61 lines (44 loc) · 2.57 KB

‫ שלב שמיני: חילוץ פוסט הבלוג שלך

‫ אז עכשיו יש לך handler ל-endpoint חדש ששמו create-post/. השלב הבא הוא למצוא את הפוסט לבלוג שלנו.

‫ התוכן של הפוסט בבלוג שלך מוסתר בתוך האובייקט req איפה שהוא. לרוב, היית מחלצת אותו מתוך req.body. נסי להדפיס לקונסול את req.body עכשיו.

‫ קיבלת undefined ? אל תדאגי, זה בסדר. כאשר מידע נשלח אל השרת במתודת POST כאובייקט FormData, עלינו לעשות דברים קצת אחרת כדי לגשת אל הנתונים בתוך הבקשה.

‫ אנחנו צריכות עוד פונקצית middleware, משהו שיוכל לחלץ את המידע מתוך אובייקט ה-FormData. בשביל זה אנחנו נשתמש ב-express-formidable, זוהי עוד שכבת middleware ב-Express. מתודה זו תחלץ את המידע מהבקשה ותהפוך אותה לזמינה בשבילך ב-req.fields.

‫ הפעם, express-formidable לא קיימת עדיין, ונצטרך להתקין אותה במיוחד.

‫ התקנת express-formidable

‫ לכי לטרמינל שלך והתקיני את express-formidable

npm install express-formidable --save

‫ הדבר הבא שעליך לעשות הוא להוסיף require לספריית express-formidable, על מנת שתוכלי להשתמש בה בקוד שלך. ב-JavaScript אי אפשר להשתמש במקפים בשמות משתנים, לכן נקרא למשתנה var formidable. הוסיפי זאת בראש הקובץ server.js, ליד ה-require הנוספים בקוד

var formidable = require('express-formidable');

‫ כעת, במקום כלשהו בין ה-require-ים ובין ה-endpoint של create-post/ הוסיפי את הקוד הבא:

app.use(formidable());

‫ לבסוף, בתוך הפונקציה של create-post/ הוסיפי את הקוד הבא:

console.log(req.fields);

‫ התחילי מחדש את השרת שלך, ונסי שוב לכתוב פוסט חדש לבלוג שלך.

‫ כעת, תוכלי לראות את האובייקט בקונסול שלך. ה-key אמור להיות blogpost, בדיוק כמו השם במאפיין בטופס ה-HTML. הערך ב-blogpost יהיה ההודעה שלך.