2011-11-13 72 views
7

我想了解jQuery中的$.getScript函數和$.get之間的區別是什麼。

根據文檔: http://api.jquery.com/jQuery.get/http://api.jquery.com/jQuery.getScript/

它給我的感覺,與$.getScript您可以將數據發送到服務器(與$.get功能),但你無法從數據服務器(您可以使用$.get函數)。但它在$.getScript的文檔中顯示,在第一個示例中的某些行下面,您可以通過行console.log(data); //data returned獲取數據。

那麼有什麼區別?是否與$.getScript你只能調用js腳本和$.get你可以調用任何文件?使用一個功能而非另一個功能的限制/好處是什麼?

回答

18

這兩個都是ajax函數調用的快捷方式。 jQuery.get相當於:

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

雖然jQuery.getScript相當於:

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

這是很容易看到,jQuery.get能夠獲得任何響應類型(腳本,XML,JSON,腳本或HTML - 默認html),並且getScript僅限於「腳本」。

總之,getScript用於動態執行外部JavaScript和 get是通常用於根據PARAMS 傳遞給接收數據的通用功能。但是,也可以通過getScript(在URL中)傳遞參數,但 將不常見,因爲大多數腳本都是靜態的。最後在getScript的回調函數可以用來執行我們的腳本執行後的最終語句(例如,在加載它之後使用一些庫函數)。

1

getScript旨在允許您加載腳本。當您從腳本中追加腳本時,腳本將異步加載腳本。如果您使用getScript,則可以爲另一個腳本完成運行時設置回調函數。

$.get是一個基本的ajax請求,你可以做它你想要的。這完全取決於你。