ajax用法與舉例說明

2016-10-31 1302 1 編輯:程序員永勝 來源:程序書籍

下面是一段比較常用到的 $.ajax 方法:

查看代碼打印

$.ajax({

    type:'GET',

    url:'http://www.sdhowk.live/jquery.php',

    data:{username:'phpernote',password:'123456'},

    dataType:'json',

    timeout:3000,

    cache:false,

    async:true,

    beforeSend:function(){

        alert('請求之前');

    },

    success:function(data){

        alert('請求成功');

    },

    error:function(msg){

        alert('請求發生錯誤');

    }

});

以上代碼只使用到了比較常見的一些參數和處理函數,下面將 $.ajax 方法中所有的參數和函數異議列舉下:

參數:

url 類型:String,默認值: 當前頁地址。發送請求的地址。

type 類型:String,取值有 "POST" 或 "GET" 兩種,默認為 "GET"。注意:其它 HTTP 請求方法,如 PUT 和 DELETE 也可以使用,但僅部分瀏覽器支持。

cache 類型:Boolean,默認值為 true,當參數 dataType 設置為 script 或 jsonp 時默認為 false。設置為 false 的情況下在多次請求時將不緩存上一次的請求數據。jQuery 1.2 新增加的功能。

contentType 類型:String,默認值: "application/x-www-form-urlencoded"。發送信息至服務器時內容編碼類型,也可設置為 "application/json; charset=utf-8"。默認值適合大多數情況。如果你明確地傳遞了一個 content-type 給 $.ajax() 那么它必定會發送給服務器(即使沒有數據要發送)。

data 類型:String,發送到服務器的數據。一般格式為{key1:value1,key2,value2},如果為數組,jQuery 將自動為不同值對應同一個名稱。如 {foo:["bar1", "bar2"]} 轉換為 '&foo=bar1&foo=bar2',如果沒有值的話,可直接為空{}。

dataType 類型:String,指定服務器返回的數據類型。如果不指定,jQuery 將自動根據 HTTP 包 MIME 信息來智能判斷,比如 XML MIME 類型就被識別為 XML。在 1.4 中,JSON 就會生成一個 JavaScript 對象,而 script 則會執行這個腳本。隨后服務器端返回的數據會根據這個值解析后,傳遞給回調函數。該參數的值有以下可選:

"html": 返回純文本 HTML 信息;包含的 script 標簽會在插入 dom 時執行。 

"script": 返回純文本 JavaScript 代碼。不會自動緩存結果。除非設置了 "cache" 參數。注意:在遠程請求時(不在同一個域下),所有 POST 請求都將轉為 GET 請求。(因為將使用 DOM 的 script標簽來加載) 

"json": 返回 JSON 數據 。 

timeout 類型:Number,設置請求超時時間(單位:毫秒)。此設置將覆蓋全局設置。

global 類型:Boolean,是否觸發全局 AJAX 事件。默認值: true。設置為 false 將不會觸發全局 AJAX 事件,如 ajaxStart 或 

processData 類型:Boolean,默認值: true。默認情況下,通過data選項傳遞進來的數據,如果是一個對象(技術上講只要不是字符串),都會處理轉化成一個查詢字符串,以配合默認內容類型 "application/x-www-form-urlencoded"。如果要發送 DOM 樹信息或其它不希望轉換的信息,請設置為 false。

jsonpCallback 為 jsonp 請求指定一個回調函數名。這個值將用來取代 jQuery 自動生成的隨機函數名。這主要用來讓 jQuery 生成度獨特的函數名,這樣管理請求更容易,也能方便地提供回調函數和錯誤處理。你也可以在想讓瀏覽器緩存 GET 請求的時候,指定這個回調函數名.

處理函數:

beforeSend(XMLHttpRequest) 發送請求前可修改 XMLHttpRequest 對象的函數,如添加自定義 HTTP 頭。XMLHttpRequest 對象是唯一的參數。這是一個 Ajax 事件。如果返回 false 可以取消本次 ajax 請求。

complete(XHR,TS) 請求完成(不管是否成功)后回調函數。參數: XMLHttpRequest 對象和一個描述請求類型的字符串。

dataFilter 給 Ajax 返回的原始數據的進行預處理的函數。提供 data 和 type 兩個參數:data 是 Ajax 返回的原始數據,type 是調用 jQuery.ajax 時提供的 dataType 參數。函數返回的值將由 jQuery 進一步處理。

error 默認值: 自動判斷 (xml 或 html)。請求失敗時將調用此函數。有以下三個參數:XMLHttpRequest 對象、錯誤信息、(可選)捕獲的異常對象。如果發生了錯誤,錯誤信息(第二個參數)除了得到 null 之外,還可能是 "timeout", "error", "notmodified" 和 "parsererror"。

success 請求成功后的回調函數。參數:由服務器返回,并根據 dataType 參數進行處理后的數據;描述狀態的字符串。

xhr 需要返回一個 XMLHttpRequest 對象。默認在 IE 下是 ActiveXObject 而其他情況下是 XMLHttpRequest 。用于重寫或者提供一個增強的 XMLHttpRequest 對象。這個參數在 jQuery 1.3 以前不可用。

本站文章均為深正網站建設摘自權威資料,書籍,或網絡原創文章,如有版權糾紛或者違規問題,請即刻聯系我們刪除,我們歡迎您分享,引用和轉載,但謝絕直接搬磚和抄襲!感謝...
關注深正互聯
我們猜你喜歡
七星彩头尾