التابع ‎‎$.ajaxSetup()‎‎ في jQuery

من موسوعة حسوب
< jQuery‏ | jQuery
مراجعة 05:54، 30 يونيو 2018 بواسطة جميل-بيلوني (نقاش | مساهمات) (إضافة محتويات الصفحة.)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

jQuery.ajaxSetup( options )‎

القيم المعادة

يعيد كائنًا من النوع Object.

الوصف

يعيِّن هذا التابع قيمًا افتراضيَّة لطلبات Ajax المستقبليَّة، ولا ينصح باستعماله.

jQuery.ajaxSetup( options )‎

أُضيف مع الإصدار: 1.1.

options

كائنٌ يحتوي على مجموعة من الأزواج مفتاح/قيمة التي تضبط قيم الإعدادات لطلبات Ajax. جميع الإعدادات المعيَّنة في هذا الوسيط ستصبح افتراضيَّة. ارجع إلى صفحة التابع ‎$.ajax()‎ للاطلاع على قائمة الإعدادات الكاملة التي يمكن استعمالها مع هذا الوسيط.

ستستخدم جميع استدعاءات Ajax اللاحقة -باستعمال أية دالة- الإعدادات الجديدة ريثما تُستدعَى ‎$.ajaxSetup()‎ مرةً أخرى. ويمكن تجاهل إعدادات محدَّدة عبر الاستدعاء الفردي مع تمرير تلك الإعدادات.

ملاحظة: سيؤثر ضبط الإعدادات باستعمال ‎$.ajaxSetup()‎ على جميع الاستدعاءات للدالة ‎$.ajax أو المشتقات التي تعتمد على Ajax مثل ‎$.get()‎. قد يسبب هذا سلوكًا غير مرغوب فيه، إذ تتوقع الاستدعاءات الأخرى (مثل الإضافات) أن تستعمل الإعدادات الافتراضيَّة الطبيعية. بناءً على ذلك، نوصي بشدة عدم استعمال هذا التابع. يمكنك عوضًا ذلك أن تضبط الإعدادات صراحةً عند الاستدعاء أو أن تُعرِّف إضافة بسيطة لأداء هذه المهمة.

الشيفرة التالية مثلًا تعيِّن قيمة افتراضيَّة للضبط url قبل الاستعلام (pinging) عن وجود اتصال مع الخادم:

$.ajaxSetup({
 url: "ping.php"
});

الآن، سيُستعمل العنوان "ping.php" تلقائيًّا في كل مرة يُنشأ فيها طلب Ajax:

$.ajax({
 // ping.php لذا سيستعمل العنوان ،url لم يعين العنوان هنا
 data: { "name": "عبد الرحمن" }
});

ملاحظة: يجب أن تعيَّن دوال ردود النداء العامَّة باستعمال توابع معالجات أحداث Ajax العامَّة الخاصَّة بها عوضًا عن تعيينها ضمن الكائن options للتابع ‎$.ajaxSetup()‎. من بعض تلك التوابع: ‎.ajaxStart()‎، و ‎.ajaxStop()‎، و ‎.ajaxComplete()‎، و ‎.ajaxError()‎، و ‎.ajaxSuccess()‎، و ‎.ajaxSend()‎.

أمثلة

تعيين القيمة الافتراضيَّة لطلبات Ajax إلى العنوان "xmlhttp" url، وتعطيل معالجات أحداث Ajax العامَّة، واستعمال الطريقة POST عوضًا عن GET. يمكن إرسال بعض البيانات عبر طلبات Ajax اللاحقة دون الحاجة إلى تعيين أي قيمة أخرى:

$.ajaxSetup({
  url: "/xmlhttp/",
  global: false,
  type: "POST"
});
$.ajax({ data: myData });

مصادر