English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

AJAX - جهاز XMLHttpRequest

يستخدم جهاز XMLHttpRequest لتبادل البيانات مع الخادم.

جهاز XMLHttpRequest

تتمتع جميع المتصفحات الحديثة (Chrome، Firefox، IE7 +، Edge، Safari، Opera) بجهاز XMLHttpRequest مدمج.

يسمح XMLHttpRequest بتحديث الصفحة بشكل متزامن من خلال تبادل البيانات مع الخادم عبر الويب.

يمكنك استرداد البيانات من URL دون تحديث الصفحة بأكملها.

هذا يجعل من الممكن تحديث جزء من الصفحة دون إزعاج المستخدم.

إنشاء جهاز XMLHttpRequest

قبل تنفيذ اتصال AJAX بين العميل والخادم، يجب أولاً إنشاء جهاز XMLHttpRequest، مثلما هو موضح أدناه:

نحوية:

var request = new XMLHttpRequest();
var httpRequest = new XMLHttpRequest();
اختبار لمعرفة‹/›

XMLHttpRequest عبر الموقع

لأسباب أمنية، لا يسمح المتصفحات الحديثة بالوصول عبر النطاق.

هذا يعني أن الصفحة وملفات الطلب التي تحاول تحميلها يجب أن تكون على نفس الخادم.

تم فتح جميع ملفات الطلب المفتوحة في oldtoolbag.com على نطاق oldtoolbag.com.

إذا كنت ترغب في استخدام المثال أعلاه في صفحة من صفحاتك الخاصة، فيجب أن تكون ملفات الطلب موجودة على خادمك الخاص.

المتصفحات القديمة (مناسبة لإصدارات IE 6 وأقدمها)

استخدمت إصدارات Internet Explorer القديمة (6 وأقدمها) جهاز ActiveX بدلاً من جهاز XMLHttpRequest.

نحوية:
var request = new ActiveXObject("Microsoft.XMLHTTP");

لمعالجة إصدارات IE6 وأقدمها، يرجى التحقق من دعم المتصفح لجهاز XMLHttpRequest هذا، وإلا قم بإنشاء جهاز ActiveX:

var httpRequest;
if (window.XMLHttpRequest) {
    // الحواسيب المتاحة الآن (Chrome, Mozilla, Safari, IE7+, ...)
    httpRequest = new XMLHttpRequest();
else if (window.ActiveXObject) {
    // <= IE 6 أو إصدارات IE القديمة
    httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
اختبار لمعرفة‹/›

خصائص XMLHttpRequest object

الجدول أدناه يبين جميع الخصائص لـ XMLHttpRequest object:

الخصائصالوصف
onreadystatechangeتحديد الدالة التي يتم استدعاؤها عند تغيير الخاصية readyState
readyStateحفظ حالة XMLHttpRequest:
0: لم يتم تتبع الطلب بعد
1: إنشاء اتصال بخادم
2: استلام الطلب
3: معالجة الطلب
4: اكتمال الطلب وعدم الاستعداد للرد
responseTextإرجاع بيانات الرد كنص
responseXMLاسترداد بيانات الرد كبيانات XML
statusإرجاع رقم حالة الطلب:
200: “OK”
403: “محظور”
404: “Not Found”
للحصول على قائمة كاملة، يرجى زيارةمرجع رمز حالة HTTP
statusTextإرجاع نص حالة الطلب (مثل,“OK”أو“Not Found”)

طرق XMLHttpRequest object

الجدول أدناه يبين جميع الطرق لـ XMLHttpRequest object:

الطريقةالوصف
new XMLHttpRequest()إنشاء مobjet XMLHttpRequest جديد
abort()إلغاء الطلب الحالي
getAllResponseHeaders()إرجاع معلومات العنوان
getResponseHeader()إرجاع معلومات الرأس المحددة
open(method, url, async)تحديد الطلب
method: نوع الطلبGETأوPOST
url: موقع الملف
async:true (التعامل بالتزامن) أو false (التعامل غير الزامني)
send()إرسال الطلب إلى
للGETالخادم الذي يتم الطلب منه
send(النص)إرسال الطلب إلى الخادم.
للPOSTالطلب
setRequestHeader(الرأس، القيمة)تعيين رأس HTTP كطلب
الرأس:تحديد اسم الرأس
القيمة:تحديد قيمة الرأس