مقدمة
$ HTTP Service: إنها ببساطة تغلف كائن XMLHttpRequest الأصلي للمتصفح ويتلقى معلمة. هذه المعلمة هي كائن يحتوي على محتوى التكوين المستخدم لإنشاء طلبات HTTP. هذه الوظيفة تُرجع كائن promise مع success وأساليب error .
استخدم سيناريوهات خدمة HTTP $:
var promise = $ http ({method: "post" ، // يمكن الحصول على ، post ، وضع ، حذف ، head ، jsonp ؛ بشكل شائع هو الحصول على ، posturl: "./ data.json" ، // طلب مسار params: طلب ، أرسل البيانات الثنائية واستخدم كائن blob. then() الوظيفة: يمكنك استخدام وظيفة then() للتعامل مع رد الاتصال في خدمة HTTP $. then() تقبل الدالة وظيفتين اختياريتين كمعلمات لتمثيل المعالجة عند success أو حالة error . يمكنك أيضًا استخدام عروض success error بدلاً من ذلك:
then(successFn, errFn, notifyFn) ، سواء كان promise ينجح أو يفشل ، عندما تكون النتيجة متاحة ، then يستدعي على الفور successFn أو errFn بشكل غير متزامن. تستدعي هذه الطريقة دائمًا وظيفة رد الاتصال بمعلمة واحدة: النتيجة ، أو سبب الرفض.
قبل تنفيذ promise أو رفضه ، قد يتم استدعاء رد الاتصال على notifyFn إلى عدة مرات لتوفير موجه لحالة العملية.
Promise.Then (Function (resp) {// استدعاء عندما تكون الاستجابة ناجحة ، RESP هو كائن استجابة} ، الدالة (resp) {// المسمى عند فشل الاستجابة ، RESP لديه رسالة خطأ}) ؛ يحتوي RESS (كائن الاستجابة) المستلم بواسطة دالة then() على 5 خصائص:
1. البيانات (سلسلة أو كائن): جسم الاستجابة
2. الحالة: رمز حالة HTTP المقابل ، مثل 200
3. الرؤوس (وظيفة): وظيفة getter مع معلومات الرأس ، والتي يمكن أن تقبل المعلمة للحصول على قيمة الاسم المقابل.
4. التكوين (كائن): ينشئ كائن الإعداد الكامل للطلب الأصلي
5. Statustext: نص حالة HTTP المقابل ، مثل "موافق"
أو استخدم طريقة success/error ، استخدم
// نجح في التعامل مع الوعد.
أمثلة على الاستخدام:
index.html
<! doctype html> <html lang = "en"> <head> <meta charset = "utf-8"> <title> $ http request request </title> <script src = "../ js/angular.js">/script> <script src = "app.js"> data-ng-controller = "myAppController" data-ng-init = "loadData ()"> <table> <thead> <tr> <th> name </h> <th> properties </h> </td> </tbody> <tbody> <tbo <td> {{data.attr}} </td> </tbody> </thide> </table> </viv> </body> </html>app.js
var myhttpapp = Angular.module ("myapp" ، []) ؛ myHttPapp.Controller ("myAppController" ، function ($ q ، $ http ، $ scope) {var deffer = $ q.defer () ؛ var data = new blob ([{"name": "zhangsan" $ http ({method: "post" ، url: "./ data.json" ، cache: true}). /*Promise.success (دالة (بيانات) {$ scope.mydata = data ؛})* /}})data.json
"
نتيجة:
تم إرجاع كائن resp عند استدعاء then() :
لخص
انتهت التطبيقات والمعلمات الشائعة الاستخدام لخدمة $ HTTP في AngularJs. آمل أن يكون محتوى هذه المقالة مفيدًا للجميع لتعلم استخدام AngularJS. إذا كان لديك أي أسئلة ، فيرجى ترك رسالة للتواصل.