jQuery ajax - getScript() 方法
實(shí)例
通過 AJAX 請(qǐng)求來獲得并運(yùn)行一個(gè) JavaScript 文件:
$("button").click(function(){ $.getScript("demo_ajax_script.js"); });
定義和用法
getScript() 方法通過 HTTP GET 請(qǐng)求載入并執(zhí)行 JavaScript 文件。
語法
jQuery.getScript(url,success(response,status))
參數(shù) | 描述 |
---|---|
url | 將要請(qǐng)求的 URL 字符串。 |
success(response,status) |
可選。規(guī)定請(qǐng)求成功后執(zhí)行的回調(diào)函數(shù)。 額外的參數(shù):
|
詳細(xì)說明
該函數(shù)是簡(jiǎn)寫的 Ajax 函數(shù),等價(jià)于:
$.ajax({ url: url, dataType: "script", success: success });
這里的回調(diào)函數(shù)會(huì)傳入返回的 JavaScript 文件。這通常不怎么有用,因?yàn)槟菚r(shí)腳本已經(jīng)運(yùn)行了。
載入的腳本在全局環(huán)境中執(zhí)行,因此能夠引用其他變量,并使用 jQuery 函數(shù)。
比如加載一個(gè) test.js 文件,里邊包含下面這段代碼:
$(".result").html("<p>Lorem ipsum dolor sit amet.</p>");
通過引用該文件名,就可以載入并運(yùn)行這段腳本:
$.getScript("ajax/test.js", function() { alert("Load was performed."); });
注釋:jQuery 1.2 版本之前,getScript 只能調(diào)用同域 JS 文件。 1.2中,您可以跨域調(diào)用 JavaScript 文件。注意:Safari 2 或更早的版本不能在全局作用域中同步執(zhí)行腳本。如果通過 getScript 加入腳本,請(qǐng)加入延時(shí)函數(shù)。
更多實(shí)例
例子 1
加載并執(zhí)行 test.js:
$.getScript("test.js");
例子 2
加載并執(zhí)行 test.js ,成功后顯示信息:
$.getScript
("test.js", function(){
alert("Script loaded and executed.");
});
例子 3
載入 jQuery 官方顏色動(dòng)畫插件 成功后綁定顏色變化動(dòng)畫:
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);
});
});