2009-08-27 214 views
36

假設我想執行一個PHP腳本。哪種方法更好?jQuery ajax()vs get()/ post()

此:

$.ajax({ 
    type: "GET", 
    url: "php-script.php", 
    dataType: "script" 
}); 

或者這樣:

$.get("php-script.php", function(data) { }); 
+0

該腳本有什麼影響? – 2013-10-28 15:49:05

回答

29

在這種情況下,我會說$.get,因爲它立即清楚請求的類型是什麼。無論如何,這只是更大,更多選項的ajax調用的縮寫,在最糟糕的情況下,兩者之間的轉換並不重要。

如果您認爲您需要花哨的$.ajax選項,請使用$.ajax。如果你不使用的簡便方法jQuery提供,如.load$.get

22

$.get()僅僅是一個$.ajax()呼叫類型的 「GET」 的快捷方式。

精心製作$.get()只是在後臺調用$.ajax()。它的一種快捷方式類似於$(function(){})$(document).ready(function(){})$.get的常見使用案例是爲了快速而簡單的獲取,如果您需要做一些更復雜的事情或需要額外的靈活性,則應使用$.ajax

+0

$ .get用類型=「GET」包裝$ .ajax。這不僅僅是一個快捷方式,關鍵的區別在於您無法使用$ .get向服務器發送POST請求。 – karim79 2009-08-28 00:00:28

+3

呃我原以爲這顯而易見...我已經更新它,因爲你認爲它不是。 – 2009-08-28 00:01:23

+0

@Darko Z - 不,從你的回答中看不出來,這就是我評論的原因 - 指出這一點。然而,你的更新確實使它變得明顯。 – karim79 2009-08-28 00:04:22

1

$.get()/$.post()不支持beforeSend喜歡$.ajax()一樣。所以你不能直接加載時顯示一個微調器。但你可以用.ajaxStart()來做到這一點。