1. السؤال:
لا يمكن للواجهة الخلفية تلقي البيانات المرسلة بواسطة $ http.post في AngularJS ، ويتم عرضها دائمًا على أنها خالية
نموذج الرمز:
$ http.post (/admin/keyvalue/getListBypage ، {pageIndex: 1 ، pagesize: 8})الكود ليس خطأ ، ولكن لا يمكن تلقي البيانات في الخلفية. لماذا هذا؟
باستخدام مراقبة Firefox: المعلمات بتنسيق JSON
استخدم مراقبة Google: طريقة نقل المعلمات هي حمولة الطلب
يمكن العثور على أن طريقة نقل المعلمة هي حمولة الطلب ، وتنسيق المعلمة هو JSON ، وليس نقل المعلمة ، لذلك في الخلفية ، لا يمكن استلام المعلمات عن طريق استلام بيانات النموذج.
عند إرسال طلب نموذج نشر ، فإن نوع المحتوى المستخدم هو Application/X-WWW-Form-urlencoded ، وإذا كان طلب المنشور باستخدام Ajax الأصلي لا يشير إليه.
بالنسبة لرأس الطلب الثابت ، فإن نوع المحتوى الافتراضي هو نص/عادي ؛ charset = utf-8 ، ونوع المحتوى هنا هو:
------------------------------------------------------------------------------------------------------------------------------------
2. الحل:
قم بتحميل الكود مباشرة:
. {return $ .param (data) ؛}} ؛ // أرسل طلبًا نشرًا للحصول على البيانات $ http.post (url ، data ، postcfg) .sccess (function (response) {Alert ("mrjing") ؛}) ؛بعد ذلك ، دعونا نلقي نظرة على أداة المراقبة:
مراقبة Firefox: أصبح نوع المعلمة بيانات النموذج
مراقبة Google:
الآن أصبحت طريقة نقل المعلمة هي طريقة النموذج ، ويمكن للواجهة الخلفية تلقي معلمات بشكل طبيعي!
ما سبق هو المعرفة ذات الصلة حول سبب عدم استلام البيانات التي يتم إرسالها بواسطة $ http.post في AngularJS بواسطة الواجهة الخلفية. آمل أن يكون ذلك مفيدًا للجميع. إذا كان لديك أي أسئلة ، فيرجى ترك رسالة لي وسوف يرد المحرر على الجميع في الوقت المناسب. شكرا جزيلا لدعمكم لموقع wulin.com!