jQuery.ajax()函式需要傳入一個包含初始化及處理Ajax Request的key/value參數,參數說明如下:
參數名稱: 說明
- async: 設定請求模式,預設為非同步請求
- beforeSend: 定義發送請求之前修改XMLHttpRequest物件的函式,例如增加固定的header等,可以在此函式中回傳False來取消Ajax
- cache: 1.2版加入的新功能,設定是否會從瀏覽器中抓取Cache的資料,預設為True
- complete: 定義請求完成時執行的函式(不論結果是success或error)
- contentType: 設定傳送資料至Serve時的編碼類型,預設為 application/x-www-form-urlencoded
- data: 設定要傳送至Server的資料,會自動轉為Query String的型式,如果是GET請求還會附加到URL。例如:{para:["p1", "p2"]} 會轉成『¶=p1¶=p2』
- dataFilter: 定義處理Server回傳的資料
- dataType: 設定Server預定傳回的資料類型,如果沒指定,jQuery會根據HTTP MIME Type自動選擇以responseXML或responseText傳入success callback 函式。資料類型有:xml、html、script、json、jsonp(會自動在URL 加入callback參數送至Server端,Server端利用callback參數值來輸出適當的Script送回給browser來執行)、 text(純文字字串)
- error: 定義請求發生錯誤時所執行的函式
- global: 設定是否觸發全域Ajax事件
- ifModified: 設定是否Server更新文件時才下載
- processData: 設定是否自動將資料轉為Query String
- scriptCharset: 設定Script的編碼方式
- success: 定義請求成功時所執行的函式
- timeout: 設定Timeout時間,單位為 ms
- type: 設定請求方式,預設為 GET
- url: 設定Request的網址
jQuery的 Ajax參數中有4個callback函式,當一個Ajax Request送出到完成,會依照beforeSend>success或error>complete的順序來呼叫,不管成功或失 敗,beforeSend及complete定義的callback函式都會被呼叫,而success或error的函式則是看Ajax請求的結果來決定 誰會被呼叫。
|