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

طريقة jQuery ajax()

طرق AJAX jQuery

طريقة .ajax() تنفذ طلبات HTTP متزامنة (Ajax).

$.ajax() هو أساس جميع الطلبات Ajax التي يرسلها jQuery. عادة لا تحتاج إلى استدعاء هذه الطريقة مباشرة، لأن يمكنك$.get(),$.post()وload()بعض الطرق البديلة الأكثر تقدماً، ويمكن استخدامها بشكل أسهل. ولكن، إذا كنت بحاجة إلى خيارات أقل، يمكن استخدام $.ajax() بشكل أكثر مرونة.

الجملة:

النوع الأول من الجملة: إصدار 1.5+:

$.ajax(url, {name:value, name:value, ...})

النوع الثاني من الجملة 1.0+ إصدار:

$.ajax(name:value, name:value, ...)

مثال

استخدامإضافةلطلبات AJAXالإصدارتغيير نص عنصر DIV: إصدار 1.5:

$.ajax("ajax_intro.txt", {success: function(response){
  $("div").html(response);
});
اختبار لـ‹/›

استخدامإضافةلطلبات AJAXالإصدارتغيير نص عنصر DIV1.0الإصدار:

$.ajax({
  url: "ajax_intro.txt",
  success: function(response){
    $("div").html(response);
  }
});
اختبار لـ‹/›

طلب صفحة ajax_get.php وإرسال بعض البيانات الأخرى:

$.ajax({
  url: "ajax_get.php",
  data: {fname:"Seagull", lname:"Anna"},
  success: function(response){
    $("div").html(response);
  }
});
اختبار لـ‹/›

طلب صفحة ajax_get.php وإرسال بعض البيانات الأخرى، وإطلاق رسالة حالة الإشعار:

$.ajax({
  url: "ajax_get.php",
  data: {fname:"Seagull", lname:"Anna"},
  success: function(response, status){
        $("div").html(response);
        alert(status);
  }
});
اختبار لـ‹/›

استخدام طريقة HTTP POST لطلب صفحة ajax_post.php:

$.ajax({
  url: "ajax_post.php",
  method: "POST",
  success: function(response){
        $("div").html(response);
  }
});
اختبار لـ‹/›

استخدام إعداد الاتصال المتسلسل لتعيين الطلب المتسلسل:

$.ajax({
  url: "ajax_get.php",
  async: false,
  data: {fname:"Seagull", lname:"Anna"},
  success: function(response){
        $("div").html(response);
  }
});
اختبار لـ‹/›

استخدام dataType لتعيين نوع البيانات المطلوبة في الطلب:

$.ajax({
  url: "/javascript/myscript.js",
  dataType: "script"
});
اختبار لـ‹/›

إذا واجهت طلبات Ajax خطأ، فأظهر إشعارًا:

$.ajax({
  url: "wrong_file.html",
  success: function(response){
        $("div").html(response);
  },
  error: function(xhr){
        $("div").html("خطأ: " + xhr.status + " " + xhr.statusText);
  }
});
اختبار لـ‹/›

طلب ملف، وإعلام المستخدم عند إكمال العملية. إذا فشل الطلب، فأظهر إشعارًا:

let request = $.ajax({
  url: "ajax_get.php",
  data: {fname:"Seagull", lname:"Anna"}
});
request.done(function(msg){
  $("div").html(msg);
});
request.fail(function(xhr, textStatus){
  $("div").html("فشل الطلب: " + textStatus);
});
اختبار لـ‹/›

قيمة المعامل

تحديد اسم:قيمة واحدة أو أكثر للطلب AJAX

الاسم المحتمل: القيم المدرجة في الجدول أدناه:

الاسمنوع القيمةالوصف
asyncبوليةقيمة بولية تحدد ما إذا كان يجب معالجة الطلب بشكل متسلسل. القيمة الافتراضية هي true
beforeSend(xhr)دالةالوظيفة التي يتم تنفيذها قبل إرسال الطلب
cacheبوليةقيمة بولية تحدد ما إذا كان يجب على المتصفح حفظ صفحة الطلب. القيمة الافتراضية هي true
complete(xhr,status)دالةالوظيفة التي يتم تنفيذها عند اكتمال الطلب (بعد الوظائف الناجحة والفاشلة)
contentTypeقيمة بولية أو نصنوع المحتوى المستخدم لإرسال البيانات إلى الخادم. القيمة الافتراضية هي "application / x-www-form-urlencoded"
contextعنصر عاديتحديد قيمة "this" لجميع الدوال التدعيمية ذات الصلة بAJAX
dataPlainObject أو String أو Arrayتحديد البيانات التي سيتم إرسالها إلى الخادم
dataFilter(data,type)دالةالوظيفة المستخدمة لمعالجة البيانات الأصلية لـ XMLHttpRequest
dataTypeالخطنوع البيانات المتوقع في رد الخادم
error(xhr,status,error)دالةالوظيفة التي تتم تنفيذها عند فشل الطلب
globalبوليةقيمة بولية تحدد ما إذا كان يجب إطلاق معالج الحدث AJAX العالمي للطلب. القيمة الافتراضية هي true
ifModifiedبوليةقيمة بولية تحدد ما إذا كان يجب أن ينجح الطلب فقط عندما يتم تغيير الرد على الطلب من قبل. القيمة الافتراضية هي false.
jsonpنص أو بوليةتغطية الدالة التدعيمية في طلب jsonp
jsonpCallbackدالةتحديد اسم الدالة التدعيمية في طلب jsonp
methodالخطتحديد الطريقة المستخدمة في الطلب HTTP (الحصول أو النشر). القيمة الافتراضية هي GET
passwordالخطتحديد كلمة المرور المستخدمة في طلب التحقق من هوية HTTP
processDataبوليةقيمة بولية، تحدد ما إذا كان يجب تحويل البيانات المرفقة بالطلب إلى سلسلة استعلام. القيمة الافتراضية هي true
scriptCharsetالخطتحديد مجموعة الحروف للطلب
statusCodeعنصر عاديمثل العنصر الذي سيتم استدعاؤه عند الحصول على استجابة من HTTP code ووظيفة
$.ajax({
  statusCode: {
    404: function() {
      alert('لا يمكن العثور على الصفحة');
    }
  }
})
success(response,status,xhr)دالةالوظيفة التي سيتم تشغيلها عند نجاح الطلب
timeoutرقمالتوقيت المحلي للطلب (بالميليسيوندات)
traditionalبوليةقيمة بولية، تحدد ما إذا كان سيتم استخدام شكل سلسلة التقديم التقليدية
typeالخطmethodالاسم المبدئي. إذا كنت تستخدم إصدار jQuery 1.9.0 أو أقل، فعليك استخدام type
urlالخطتحديد URL التي سيتم إرسال الطلب إليها. الافتراض هو الصفحة الحالية
usernameالخطتحديد اسم المستخدم الذي سيتم استخدامه في طلب التحقق من هوية HTTP
xhrدالةدالة لإنشاء ملف XMLHttpRequest

طرق AJAX jQuery