بالمقارنة مع AJAX ، فإن خادم XMLHTTP هو استخدام كائنات XMLHTTPREQUEST على الخادم. على الرغم من أنه من غير المريح استخدام الطلبات غير المتزامنة على جانب الخادم ، كمكون يمكنه إرسال طلبات HTTP كخادم ، لا يوجد أي ضرر للدراسة.
هنا ، أنا أتحدث عن استخدام خادم XMLHTTPREQUEST في بيئة ASP ، ويستخدم JScript كلغة رمز العرض.
عادة ما يتم استخدام الخادم XMLHTTP للحصول على صفحة الويب أو محتوى آخر للمضيف البعيد. وأخذ عنوان الأخبار. التقاط الروبيان هو إجمالي الأخبار ، لكنه غير مكتوب في ASP :)
في ASP ، يمكننا استخدام الكود التالي لإنشاء كائن ServerXMLHTTP ، وهذا الكائن هو الأساس لنا لأداء جميع العمليات على الخادم.
var xmlhttp = new ActivexObject (msxml2.serverxmlhttp.5.0) ؛
بادئ ذي بدء ، لفهم ما هي الأساليب الأكثر فائدة لكائن serverxmlhttp:
1. إحباط هذه الطريقة تستخدم لإلغاء طلب XMLHTTP. إذا قام كائن XMLHTTP بإرسال الطلب غير المتزامن ، إذا لم يعود الطلب إلى وقت معين ، فيمكنك استخدام هذه الطريقة لإلغاء الطلب.
2. قيمة الإرجاع لـ GetAllResponseHeaders هي سلسلة ، وهي تعادل رأس طلب HTTP ، تمت إزالة طريقة طلب الطلب ، URI ، و Protocol إصدار.
3. getResponseHeader تستخدم هذه الطريقة للحصول على معلومات الرأس المحددة.
4. يستخدم Open طريقة طلب محددة ، طريقة URI و Synchronization ، ومعلومات المصادقة لتهيئة الطلب.
5. إرسال طلبات HTTP ، انتظر لاستلام بيانات الاستجابة. بالإضافة إلى ذلك ، تحتوي طريقة SEND على هيئة معلمة اختيارية ، مما يشير إلى أن البيانات المراد إرسالها أكثر فائدة عند استخدام طريقة POST.
6. SetTimeout قم بتعيين وقت 4OUT لكائن ServerXMLHTTP ، أي: تحليل اسم المجال ، خادم التوصيل ، إرسال البيانات ، استجابة الاستجابة. يمكنك التحكم في كائن ServerXMLHTTP عن طريق تعيين وقت المهلة المقابل ، وذلك لمنع ServerXMLHTTP من العودة في الوقت المناسب والتسبب في توقف البرنامج عن الاستجابة.
7. SetRequestHeader يعين رأس الطلب في العميل ، مما يشير إلى أن الطلب هو من كائن XMLHTTPREQUEST.
8. يمكن للاستجابة WaitForResponse استخدام هذه الطريقة للتحكم في عملية الطلب عند إرسال الطلبات غير المتزامنة. في البرنامج النصي للخادم ، يجب ألا تستخدم وظيفة رد الاتصال مباشرة للتحكم في الطلبات غير المتزامنة مثل العميل ، ولا توجد وظيفة مقابلة لاستخدام البرنامج لوقت معين. يمكننا استخدام هذه الطريقة لانتظار فترة زمنية معينة لأخذ وقت معين لوقت معين
بالإضافة إلى ذلك ، هناك طرق أخرى ، مثل getOption ، setOption ، setproxy ، إلخ. يتم استخدام هذه الطرق أقل ، لذلك لا يتم تقديمها هنا.
بعد ذلك ، انظر إلى سمات كائن serverxmlhttp:
1. يتغير كائن OnReadyStateChange XMLHTTP إلى وظيفة رد الاتصال.
2. readyState XMLHTTP CONFIRE ، مع 5 قيم ، من 0 إلى 4 ، مما يعني:
0 -لا تهيئة ، ما عليك سوى استخدام ActivexObject الجديد (msxml.serverxmlhttp.5.0) عند الإنشاء
1 -بعد التحميل ، في هذا الوقت ، تم استدعاء الطريقة المفتوحة ، ولكن لم يتم استخدام البيانات لإرسال البيانات
2 -تم تحميلها ، وتم استدعاء طريقة إرسال لإرسال البيانات ، ولكن لا يوجد تدفق استجابة يمكن أن يكون متاحًا
3 -أنا أتفاعل وأتلقى البيانات.
4 -clete الطلب ، تم قبول جميع البيانات لإكمالها
في ظل الظروف العادية ، نحتاج فقط إلى الحكم على الحالة 4. في هذا الوقت ، يتم تحميل البيانات جميعها.
3. يجب أن يكون رمز حالة HTTP.
4. نص حالة استجابة الأساسيات HTTP لوصف معنى رمز حالة الاستجابة ، مثل OK في 200 OK ، 404 لم يتم العثور عليها
5. يستجيب ResponseBody لمجموعة البايت للبيانات ، والتي يمكن استخدامها مباشرة في VBScript ، ولكن يجب تحويلها في JScript.
6. مسؤولية الحصول على بيانات الاستجابة عن طريق النص
7. Responsexml يعيد بيانات الاستجابة ككائن XMLDOM.
8. كائن تدفق استجابة الاستجابة ، لا يتم استخدام هذه السمة بشكل شائع