jQuery Ajax 常用方法
1. load() :jQuery load() 方法是簡單但強大的jQuery方法。
語法: $(selector).load(url,data,callback);
-url: 必需填的。 規定希望載入的url。
-data: 選填。 規定與請求一同傳送的查詢字串鍵值對集合。
callback: 選填。 load()完成後所執行的函式。
例 :$("#div1").load("test.txt");
如果相同路徑下有一個test.txt檔案,那麼這個方法就會將這個檔案載入到id為div1的div中。
除了上面載入整個檔案,還可以這樣用:
$("#div1").load("text.txt #p1");
這個方法可以將text.txt檔案中的id為p1的元素載入到這個div中。
2. ajaxSend() :在ajax請求執行前執行函式,這是一個ajax事件。
語法: .ajaxSend([function(event,xhr,options)]);
引數: function(event,xhr,options); (必需的)
- event 包含event物件
- xhr 包含XMLHttpRequest物件
- options 包含ajax請求中使用的選項
例子: $(document).ajaxSend(function(e,xhr,opt){
$(this).html("Requesting" + opt.url);
});
//這個例子是繫結在document上面的,在這個DOM中,任何一個ajax請求執行前,都會觸發這個事件,這個例子是在ajax事件觸發的時候將ajax訪問的地址寫在頁面上。
3. ajaxComplete() : ajax請求完成後註冊要呼叫的處理程式,與ajaxSend相反,語法一樣。
4. ajaxError() : 當ajax請求完成且出現錯誤時註冊要呼叫的處理程式。
5. ajaxStart() :在第一個ajax請求開始時執行。
平時我們寫js的時候,是可以幾個ajax請求一起執行的,但是也會有個執行的先後順序。這個事件呢,是在第一個ajax執行前被觸發,與ajaxSend不同,當有幾個ajax請求一起進行的時候,ajaxSend就會有幾個請求執行幾次,而ajaxStart總共就只會執行一次,那就是第一個ajax請求開始時。
語法: .ajaxStart(function());
6. ajaxStop() :在最後一個ajax請求結束時執行。
這幾個方法的區別 :
- ajaxStart(): 在第一個ajax請求開始時觸發,只會執行一次。
- ajaxStop() : 在最後一個ajax請求結束後觸發,只會執行一次。
上述兩個方法的引數function()是沒有引數的。
- ajaxSend() : 在每個ajax請求開始時觸發,幾次請求就執行幾次。
- ajaxComplete() : 在每個ajax請求結束後觸發,幾次請求就執行幾次。
上述兩個方法的引數function都是有引數的:function(event,xhr,options)。
注意:在jQuery1.9中,上列所有ajax事件都必須繫結在document中監聽。
$(document).ajaxStart(function(){});