jQuery 3.3

jQuery.get()




jquery

jQuery.get (url [، data] [، success] [، dataType]) Returns: jqXHR

الوصف: قم بتحميل البيانات من الخادم باستخدام طلب HTTP GET.

  • الإصدار المضاف: 1.0 jQuery.get (url [، data] [، success] [، dataType])

    • رابط
      اكتب: String
      سلسلة تحتوي على عنوان URL الذي تم إرسال الطلب إليه.
    • البيانات
      اكتب: PlainObject أو String
      كائن عادي أو سلسلة يتم إرسالها إلى الخادم مع الطلب.
    • نجاح
      النوع: Function (بيانات PlainObject ، String jqXHR ، jqXHR jqXHR)
      وظيفة رد اتصال يتم تنفيذها في حالة نجاح الطلب. مطلوب إذا تم توفير dataType ، لكن يمكنك استخدام null أو jQuery.noop كعنصر نائب.
    • نوع البيانات
      اكتب: String
      نوع البيانات المتوقعة من الخادم. الافتراضي: Intelligent Guess (xml، json، script، text، html).
  • الإصدار المضاف: 1.12/2.2 jQuery.get ([الإعدادات])

    • إعدادات
      اكتب: PlainObject
      مجموعة من أزواج المفاتيح / القيم التي تقوم بتهيئة طلب Ajax. جميع الخصائص باستثناء url اختيارية. يمكن تعيين افتراضي لأي خيار مع $.ajaxSetup() . راجع jQuery.ajax (الإعدادات) للحصول على قائمة كاملة بجميع الإعدادات. سيتم ضبط خيار النوع تلقائيًا على GET .

هذه اختصار دالة Ajax ، وهو ما يعادل:

$.ajax({
  url: url,
  data: data,
  success: success,
  dataType: dataType
});

يتم تمرير وظيفة رد الاتصال الناجحة إلى البيانات التي تم إرجاعها ، والتي ستكون عنصرًا أساسيًا لجذر XML أو سلسلة نصية أو ملف جافا سكريبت أو كائن JSON ، حسب نوع استجابة MIME. يتم تمريره أيضا حالة النص للاستجابة.

اعتبارًا من jQuery 1.5 ، يتم تمرير الدالة رد الاتصال success أيضاً كائن "jqXHR" (في jQuery 1.4 ، تم تمريره الكائن XMLHttpRequest ). ومع ذلك ، بما أن JSONP وطلبات GET عبر النطاقات لا تستخدم XHR ، ففي هذه الحالات تكون jqXHR تم تمريرها إلى رد الاتصال بنجاح غير محددة.

ستحدد معظم التطبيقات معالج نجاح:

$.get( "ajax/test.html", function( data ) {
  $( ".result" ).html( data );
  alert( "Load was performed." );
});

يجلب هذا المثال مقتطف HTML المطلوب ويدرجه في الصفحة.

كائن jqXHR

اعتبارًا من jQuery 1.5 ، تقوم كافة أساليب jQuery's Ajax بإرجاع مجموعة شاملة من كائن XMLHTTPRequest . يؤدي هذا الكائن jQuery XHR ، أو "jqXHR" ، الذي يتم إرجاعه بواسطة $.get() تنفيذ واجهة Promise ، ويعطيها جميع خصائص وأساليب وسلوك الوعد (راجع الكائن المؤجل للحصول على مزيد من المعلومات). jqXHR.done() (للنجاح) ، jqXHR.fail() (للخطأ) و jqXHR.always() (للإكمال ، سواء كان النجاح أو الخطأ ؛ تمت إضافتها في jQuery 1.6) ، تأخذ الطرق الوسيطة الدالة التي تسمى عند الطلب ينتهي. للحصول على معلومات حول الوسائط التي تتلقاها هذه الدالة ، راجع قسم كائن jqXHR في وثائق $.ajax() .

كما تتيح واجهة Promise أساليب Ajax الخاصة بـ jQuery ، بما في ذلك $.get() ، لإجراء عمليات .done() متعددة .done() و .fail() و .always() على طلب واحد ، وحتى لتعيين هذه الاستدعاءات بعد الطلب إكتملت. إذا كان الطلب اكتمل بالفعل ، يتم تشغيل رد الاتصال على الفور.

// Assign handlers immediately after making the request,
// and remember the jqxhr object for this request
var jqxhr = $.get( "example.php", function() {
  alert( "success" );
})
  .done(function() {
    alert( "second success" );
  })
  .fail(function() {
    alert( "error" );
  })
  .always(function() {
    alert( "finished" );
  });
 
// Perform other work here ...
 
// Set another completion function for the request above
jqxhr.always(function() {
  alert( "second finished" );
});

إشعار الإهمال

تتم jqXHR.success() jqXHR.error() jqXHR.complete() وطرق رد الاتصال jqXHR.complete() اعتبارًا من jQuery 3.0 . يمكنك استخدام jqXHR.done() و jqXHR.fail() و jqXHR.always() بدلاً من ذلك.

ملاحظات إضافية:

  • نظرًا لقيود أمان المتصفح ، تخضع معظم طلبات "Ajax" لنفس سياسة الأصل ؛ لا يمكن للطلب استرداد البيانات بنجاح من مجال أو مجال فرعي أو منفذ أو بروتوكول مختلف.
  • إذا قام طلب jQuery.get () بإرجاع رمز خطأ ، فسوف يفشل في صمت ما لم يكن البرنامج النصي أيضًا يسمى الأسلوب .ajaxError() العمومية. بدلاً من ذلك ، اعتبارًا من jQuery 1.5 ، فإن أسلوب .error() للكائن jqXHR إرجاعه بواسطة jQuery.get () يتوفر أيضًا لمعالجة الأخطاء.
  • لا تخضع طلبات Script و JSONP لنفس قيود السياسة الأصلية.

أمثلة:

اطلب صفحة test.php ، لكن تجاهل نتائج الإرجاع.

$.get( "test.php" );

اطلب صفحة test.php وأرسل بعض البيانات الإضافية على طول (مع الاستمرار في تجاهل نتائج الإرجاع).

$.get( "test.php", { name: "John", time: "2pm" } );

تمرير المصفوفات من البيانات إلى الخادم (في حين لا يزال تجاهل نتائج الإرجاع).

$.get( "test.php", { "choices[]": ["Jon", "Susan"] } );

تنبيه النتائج من طلب test.php (HTML أو XML ، اعتمادًا على ما تم إرجاعه).

$.get( "test.php", function( data ) {
  alert( "Data Loaded: " + data );
});

تنبيه النتائج من طلب test.cgi مع حمولة إضافية من البيانات (HTML أو XML ، اعتمادًا على ما تم إرجاعه).

$.get( "test.cgi", { name: "John", time: "2pm" } )
  .done(function( data ) {
    alert( "Data Loaded: " + data );
  });

احصل على محتويات صفحة test.php ، التي تمت إعادتها بتنسيق json (<؟ php echo json_encode (array ("name" => "John"، "time" => "2pm"))؛؟>)، وأضف إلى الصفحة.

$.get( "test.php", function( data ) {
  $( "body" )
    .append( "Name: " + data.name ) // John
    .append( "Time: " + data.time ); //  2pm
}, "json" );