أجاكس - إرسال طلب إلى خادم
كائن مدعوم لتبادل البيانات مع الخادم.
يرسل الطلب إلى ملقم
لتقوم بإرسال طلب إلى الخادم، ونحن نستخدم فتح كائن مدعوم في () وإرسال () الأسلوب:
xmlhttp.send();
الطريق | وصف |
---|---|
فتح(طريقة، رابط، المتزامن) | يحدد نوع الطلب، URL ومعالجة ما إذا كانت متزامنة من الطلبات.
|
إرسال(سلسلة) | يرسل الطلب إلى الملقم.
|
GET أو وظيفة؟
مقارنة مع وظيفة، الحصول على أسهل وأسرع، وفي معظم الحالات يمكن استخدامها.
ومع ذلك، في الحالات التالية، يرجى استخدام طلب POST:
- غير قادر على استخدام ملفات ذاكرة التخزين المؤقت (ملفات أو تحديث قاعدة البيانات على الخادم)
- إرسال كميات كبيرة من البيانات (POST لا يحد من كمية البيانات) إلى ملقم
- عند إرسال إدخال المستخدم يحتوي على أحرف غير معروفة، POST هي أكثر استقرارا وأكثر موثوقية من GET
طلب GET
طلب GET بسيط:
في المثال أعلاه، قد تحصل على نتائج مؤقتا.
لتجنب هذا الأمر، إضافة معرف فريد إلى عنوان URL:
إذا كنت ترغب في إرسال المعلومات من خلال طريقة GET، إضافة المعلومات إلى URL:
طلب POST
طلب وظيفة بسيطة:
إذا كنت بحاجة إلى أن البيانات باعتبارها HTML شكل وظيفة، استخدام setRequestHeader () لإضافة رؤوس HTTP. ثم تحديد أنك تريد إرسال البيانات في الإرسال () الأسلوب:
أمثلة
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("fname=Henry&lname=Ford");
محاولة »
方法 | 描述 |
---|---|
setRequestHeader(header,value) |
向请求添加 HTTP 头。
|
رابط - الملفات على الخادم
حجة فتحرابط() الأسلوب هو عنوان ملقم الملفات:
الملف يمكن أن يكون أي نوع من الملفات، مثل .txt و. xml. أو ملفات البرامج النصية الخادم، مثل .ASP وفب (قبل إرجاع استجابة، لأداء المهام على الخادم).
غير المتزامن - صح أو خطأ؟
أجاكس يعني غير متزامن جافا سكريبت وإكس إم إل (غير متزامن جافا سكريبت وإكس إم إل).
إذا كنت ترغب في استخدام كائن أجاكس مدعوم، ثم، المعلمة المتزامن الذي () يجب أن يتم تعيين طريقة إلى true مفتوحة:
لمطوري الويب، وإرسال طلب غير متزامن هو خطوة كبيرة إلى الأمام. في الملقم لتنفيذ العديد من المهام وقتا طويلا جدا. قبل أجاكس تحدث، مما قد يتسبب في التطبيق لتعليق أو وقف.
من خلال أجاكس، جافا سكريبت دون انتظار استجابة الخادم، ولكن:
- تنفيذ البرامج النصية الأخرى أثناء انتظار استجابة من الملقم
- عندما الرد على استعداد للرد على معالجة
المتزامن = صحيح
عند استخدام المتزامن = الحقيقية، يرجى أحكام ردا على الأحداث في onreadystatechange الاستعداد لأداء وظيفة:
أمثلة
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","ajax_info.txt",true);
xmlhttp.send();
محاولة »
سوف تتعلم المزيد عن محتوى onreadystatechange في فصل لاحق.
المتزامن = كاذبة
استخدام المتزامن = كاذبة، تعيين أسلوب مفتوح () في المعلمة الثالث إلى false:
xmlhttp.open("GET","test1.txt",false);
نحن لا نوصي باستخدام المتزامن = كاذبة، ولكن لطلب صغير، من الممكن أيضا.
تذكر، وجافا سكريبت الانتظار حتى استجابة الملقم على استعداد للمضي قدما. إذا كان الملقم مشغول أو بطيئة، أو توقف توقف التطبيق.
ملاحظة: عند استخدام المتزامن = كاذبة، رجاء لا تكتب onreadystatechange وظيفة - وضع الشفرة في الإرسال () إلى بيان:
أمثلة
xmlhttp.send();
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
محاولة »