jQuery ajax - getScript() مہم

مثال

AJAX درخواست کے ذریعے ایک جاوا اسکریپت فائل کو حاصل اور چلایا جائے:

$("button").click(function(){
  $.getScript("demo_ajax_script.js");
});

خود کارا تجربہ

تعریف اور استعمال

getScript() مہم کا طریقہ کار، جس میں جاوا اسکریپت فائل کو HTTP GET درخواست کے ذریعے لوڈ اور چلایا جاتا ہے۔

قواعد

jQuery.getScript(url,success(response,status});
پارامتر وصف
url درخواست کی کیوں بگتا ہے URL چارٹر سٹرنگ
success(response,status)

اختیاری، درخواست کامیاب ہونے کے بعد چلنے والی ریٹرن فنکشن طے کرتا ہے

اضافی پارامتر:

  • response - درخواست کا نتیجہ شامل ہوتا ہے
  • status - درخواست کی حالت کا شامل ہوتا ہے ("success", "notmodified", "error", "timeout" یا "parsererror")

تفصیلات

یہ فنکشن سخت کیا گیا Ajax فنکشن ہے، جو اس کے برابر ہوتا ہے:

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

یہاں کی ریٹرن فنکشن جس میں جاوا اسکریپت فائل کیوں بگتا ہے، یہ عام طور پر بہت مفید نہیں، کیونکہ اس وقت اسکریپت پہلے سے چل چکا ہوگا۔

لوڈ کئے گئے اسکریپٹ عالمی ماحول میں چلتی ہیں، لہذا دوسرے متغیرات کو استعمال کرسکتے ہیں اور jQuery فنکشن استعمال کرسکتے ہیں۔

مثلاً ایک test.js فائل لوڈ کیا جاسکتا ہے، جس میں درج ذیل کد شامل ہوتا ہے:

$(".result").html("<p>Lorem ipsum dolor sit amet.</p>");

اس فائل کے نام کو استعمال کرکے اس اسکریپٹ کو لوڈ اور چلایا جاسکتا ہے:

$.getScript("ajax/test.js", function() {
  alert("Load was performed.");
});

تذکرہ:jQuery 1.2 نمبر سے پہلے، getScript صرف اسی درجہ کے JS فائل کو بلاک کرسکتا تھا۔ 1.2 میں، آپ جیسی درجے کے جی ایس فائل کو بلاک کرسکتے ہیں۔تذکرہ: سافری 2 یا اس سے پہلے کی نسلیں، عالمی درجے میں اسکریپٹ کو سینکریئس چلانے میں ناکام رہتی ہیں۔ اگر getScript کے ذریعے اسکریپٹ کو شامل کیا گیا تو، وقت درآمدی فنکشن کو شامل کریں۔

بیشتر مثال

مثال 1

test.js کا لوڈ اور چلانا:

$.getScript("test.js");

مثال 2

test.js کا لوڈ اور چلانا، کامیابی کے بعد پیغام دکھا دیا جاتا ہے:

$.getScript("test.js", function(){
  alert("Script loaded and executed.");
});

مثال 3

درآمد jQuery رسمی رنگ اینیمیشن ایکسینٹ کامیابی کے بعد رنگ تبدیلی کی اینیمیشن کا بائنڈنگ:

HTML کد:

<button id="go">Run</button>
<div class="block"></div>

jQuery کد:

jQuery.getScript("http://dev.jquery.com/view/trunk/plugins/color/jquery.color.js",
 function(){
  $("#go").click(function(){
    $(".block").animate( { backgroundColor: 'pink' }, 1000)
      .animate( { backgroundColor: 'blue' }, 1000);
  });
});