jQuery常用方法總結【三】

樓子發表於2018-03-26

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(){});

相關文章