مетод load() jQueryajax
مثال
از درخواست AJAX برای تغییر متن عنصر div استفاده کنید:
$("button").click(function(){ $("div").load('demo_ajax_load.txt'); });
تعریف و استفاده
مетод load() از طریق درخواست AJAX از سرور دادهها را بارگذاری میکند و دادههای بازگشتی را در عناصر مشخص شده قرار میدهد.
نوٹ:هیچ یک از load کجای jQuery رویدادطریق. کدام یک را انتخاب میکنید، بستگی به پارامتر دارد.
زبان
load(url,data,function(response,status,xhr))
پارامتر | ترجیح |
---|---|
url | URLای که درخواست باید به آن ارسال شود را تعیین میکند. |
data | اختیاری. دادههایی که با درخواست به سرور ارسال میشوند را تعیین میکند. |
function(response,status,xhr) |
اختیاری. توابعی که پس از تکمیل درخواست اجرا میشوند را تعیین میکند. پارامترهای اضافی:
|
شرح دقیق
این روش سادهترین روش برای دریافت دادهها از سرور است. تقریباً با $.get(url, data, success) مشابه است، اما تفاوت این است که یک تابع جهانی نیست و یک تابع بازگشتی صریح دارد. هنگامی که یک پاسخ موفقیتآمیز تشخیص داده میشود (مثلاً وقتی textStatus به "success" یا "notmodified" باشد)، .load() محتوای HTML عنصر تطابق داده شده را به دادههای بازگشتی تنظیم میکند. این بدان معناست که بیشتر استفادههای این روش بسیار ساده خواهند بود:
$("#result").load("ajax/test.html");
اگر یک تابع بازگشتی ارائه شود، این تابع پس از انجام پسپردازش اجرا خواهد شد:
$("#result").load("ajax/test.html", function() { alert("بارگذاری انجام شد."); });
در دو مثال بالا، اگر مستند فعلی شامل شناسه "result" نباشد، روش .load() اجرا نخواهد شد.
اگر دادههای ارائه شده یک شیء هستند، روش POST استفاده خواهد شد؛ در غیر این صورت، روش GET استفاده خواهد شد.
بارگذاری بخش صفحه
مетод .load()، برخلاف $.get()، اجازه میدهد تا بخشی از مستندهای از راه دور را تعیین کنیم. این کار از طریق یک قالب خاص برای پارامتر url انجام میشود. اگر این رشته شامل یک یا چند فاصله باشد، رشته بعد از اولین فاصله انتخابگر jQuery برای محتوایی است که بارگذاری میشود.
ما میتوانیم مثال بالا را تغییر دهیم تا بتوانیم بخشی از مستند گرفته شده را استفاده کنیم:
$("#result").load("ajax/test.html #container");
اگر اسلوب اجرا میشود، محتوای ajax/test.html گرفته خواهد شد، اما سپس، jQuery مستند بازگشتی را تحلیل میکند تا عناصر با شناسه قالب را پیدا کند. این عنصر، به همراه محتوای آن، در عناصر با شناسه نتیجه قرار داده خواهد شد و بخش باقیمانده از مستند گرفته شده خواهد شد.
jQuery کا استعمال کیا جاتا ہے کہ وہ بروزر کا .innerHTML پرتگار استعمال کرکے واپس لیئے گئے دستاویز کو نکال کر اس کو موجودہ دستاویز میں داخل کر سکے، اس کے دوران بروزر اکثر دستاویز سے عناصر، مثلاً <html>, <title> یا <head> عناصر کو نکال دیتا ہے، نتیجتاً .load() کے ذریعے واپس لیئے گئے عناصر بروزر کی جانب سے واپس لیئے گئے دستاویز سے مختلف ہوسکتے ہیں۔
نوٹ:بھائیلیوں کی حفاظتی محدودیتوں کی وجہ سے، زیادہ تر "Ajax" درخواستوں نے ایک جگہ سے دوسرے جگہ، ذیلی جگہ یا پروٹوکول سے اور بھی دادهوں کو ناکام لینے کی کوشش کی جاتی ہے۔
بیشتر مثال
مثال 1
feeds.html فائل کی محتوائی لوڈ کرنا:
$("#feeds").load("feeds.html");
مثال 2
مثال 2، لیکن آپریشن پوسٹ کی شکل میں اضافی پارامتر ارسال کرنا اور کامیابی کی صورت میں پیغام دکھا کرنا:
$("#feeds").load("feeds.php", {limit: 25}, function(){ alert("The last 25 entries in the feed have been loaded"); });
مثال 3
مقالے کی جانب سے نا ریاستی فہرست میں نا ریاستی فہرست نا ریاستی فہرست لوڈ کرنا:
HTML کوڈ:
<b>jQuery لنکس:</b> <ul id="links"></ul>
jQuery کوڈ:
$("#links").load("/Main_Page #p-Getting-Started li");
بیشتر TIY مثال
- AJAX درخواست پیدا کرنا اور اس درخواست کے ذریعے داده ارسال کرنا
- کیسے data پارامتر استعمال کرکے AJAX درخواست کے ذریعے داده ارسال کرنا؟ (اس مثال کو AJAX تعلیم میں توضیح دیا گیا ہے)۔
- AJAX درخواست پیدا کرنا اور اس درخواست کے ذریعے داده ارسال کرنا
- کیسے function پارامتر استعمال کرکے AJAX درخواست سے آئیڈیو کا نتیجہ استعمال کرنا؟
- غلطیوں سے آراستہ AJAX درخواست پیدا کرنا
- کیسے function پارامتر استعمال کرکے AJAX درخواست میں غلطیوں کو ہلکا کرنا (XMLHttpRequest پارامتر استعمال کرکے)؟