由于以前只是用很基礎(chǔ)的jquery ajax方法救湖,用法比較單一愧杯。但是最近工作中,需要根據(jù)不同的請(qǐng)求鞋既,設(shè)置不同的參數(shù)力九。下面,介紹一下使用過程中詳細(xì)的參數(shù)說明邑闺。
環(huán)境依賴
jQuery (我用的是 jQuery v1.11.2)通用寫法
$.ajax({
url: "http://www.hzhuti.com", //請(qǐng)求的url地址
dataType: "json", //返回格式為json
async: true, //請(qǐng)求是否異步暖庄,默認(rèn)為異步唬血,這也是ajax重要特性
data: { "id": "value" }, //參數(shù)值
type: "GET", //請(qǐng)求方式
beforeSend: function(request) {
//請(qǐng)求前的處理
request.setRequestHeader("Content-type","application/json");
request.setRequestHeader("Source","101");
request.setRequestHeader("Token","aaw--wssw-ss...");
},
success: function(data) {
//請(qǐng)求成功時(shí)處理
},
complete: function() {
//請(qǐng)求完成的處理
},
error: function() {
//請(qǐng)求出錯(cuò)處理
}
});
- 參數(shù)詳解
格式說明:
1.參數(shù)名;
2.參數(shù)類型;
3.參數(shù)說明当纱,默認(rèn)值垃环,可選值酪我;
url
String
(默認(rèn): 當(dāng)前頁地址) 發(fā)送請(qǐng)求的地址夫植。
type
String
(默認(rèn): "GET") 請(qǐng)求方式 ("POST" 或 "GET"), 默認(rèn)為 "GET"颅眶。
注意:其它 HTTP 請(qǐng)求方法蜈出,如 PUT 和 DELETE 也可以使用,但僅部分瀏覽器支持涛酗。
timeout
Number
設(shè)置請(qǐng)求超時(shí)時(shí)間(毫秒)铡原。此設(shè)置將覆蓋全局設(shè)置。
async
Boolean
(默認(rèn): true) 默認(rèn)設(shè)置下煤杀,所有請(qǐng)求均為異步請(qǐng)求眷蜈。如果需要發(fā)送同步請(qǐng)求沪哺,請(qǐng)將此選項(xiàng)設(shè)置為 false沈自。注意,同步請(qǐng)求將鎖住瀏覽器辜妓,用戶其它操作必須等待請(qǐng)求完成才可以執(zhí)行枯途。
beforeSend
Function
發(fā)送請(qǐng)求前可修改 XMLHttpRequest 對(duì)象的函數(shù),如添加自定義 HTTP 頭籍滴。XMLHttpRequest 對(duì)象是唯一的參數(shù)酪夷。
function (XMLHttpRequest) {
this;
}
cache
Boolean
(默認(rèn): true) jQuery 1.2 新功能,設(shè)置為 false 將不會(huì)從瀏覽器緩存中加載請(qǐng)求信息孽惰。
complete
Function
請(qǐng)求完成后回調(diào)函數(shù) (請(qǐng)求成功或失敗時(shí)均調(diào)用)晚岭。參數(shù): XMLHttpRequest 對(duì)象,成功信息字符串勋功。
function (XMLHttpRequest, textStatus) {
}
contentType
String
(默認(rèn): "application/x-www-form-urlencoded") 發(fā)送信息至服務(wù)器時(shí)內(nèi)容編碼類型坦报。默認(rèn)值適合大多數(shù)應(yīng)用場(chǎng)合库说。
data
Object,String
發(fā)送到服務(wù)器的數(shù)據(jù)。將自動(dòng)轉(zhuǎn)換為請(qǐng)求字符串格式片择。GET 請(qǐng)求中將附加在 URL 后潜的。
查看 processData 選項(xiàng)說明以禁止此自動(dòng)轉(zhuǎn)換。必須為 Key/Value 格式字管。
如果為數(shù)組啰挪,jQuery 將自動(dòng)為不同值對(duì)應(yīng)同一個(gè)名稱。
如 {foo:["bar1", "bar2"]} 轉(zhuǎn)換為 '&foo=bar1&foo=bar2'嘲叔。
dataType
String
預(yù)期服務(wù)器返回的數(shù)據(jù)類型亡呵。如果不指定,jQuery 將自動(dòng)根據(jù) HTTP 包 MIME 信息返回 responseXML 或 responseText借跪,并作為回調(diào)函數(shù)參數(shù)傳遞政己,可用值:
"xml": 返回 XML 文檔,可用 jQuery 處理掏愁。
"html": 返回純文本 HTML 信息歇由;包含 script 元素。
"script": 返回純文本 JavaScript 代碼果港。不會(huì)自動(dòng)緩存結(jié)果沦泌。
"json": 返回 JSON 數(shù)據(jù) 。
"jsonp": JSONP 格式辛掠。使用 JSONP 形式調(diào)用函數(shù)時(shí)谢谦,
如 "myurl?callback=?" jQuery 將自動(dòng)替換 ? 為正確的函數(shù)名,以執(zhí)行回調(diào)函數(shù)萝衩。
error
Function
(默認(rèn): 自動(dòng)判斷 (xml 或 html)) 請(qǐng)求失敗時(shí)將調(diào)用此方法回挽。
這個(gè)方法有三個(gè)參數(shù):XMLHttpRequest 對(duì)象,錯(cuò)誤信息猩谊,(可能)捕獲的錯(cuò)誤對(duì)象千劈。
function (XMLHttpRequest, textStatus, errorThrown) {
// 通常情況下textStatus和errorThown只有其中一個(gè)有值 this;
}
global
Boolean
(默認(rèn): true) 是否觸發(fā)全局 AJAX 事件。
設(shè)置為 false 將不會(huì)觸發(fā)全局 AJAX 事件牌捷,如 ajaxStart 或 ajaxStop 墙牌。
可用于控制不同的Ajax事件
ifModified
Boolean
(默認(rèn): false) 僅在服務(wù)器數(shù)據(jù)改變時(shí)獲取新數(shù)據(jù)。使用 HTTP 包 Last-Modified 頭信息判斷暗甥。
processData
Boolean
(默認(rèn): true) 默認(rèn)情況下喜滨,發(fā)送的數(shù)據(jù)將被轉(zhuǎn)換為對(duì)象(技術(shù)上講并非字符串) 以配合默認(rèn)內(nèi)容類型 "application/x-www-form-urlencoded"。
如果要發(fā)送 DOM 樹信息或其它不希望轉(zhuǎn)換的信息撤防,請(qǐng)?jiān)O(shè)置為 false虽风。
success
Function
請(qǐng)求成功后回調(diào)函數(shù)。這個(gè)方法有兩個(gè)參數(shù):服務(wù)器返回?cái)?shù)據(jù),返回狀態(tài)function (data, textStatus) {
// data could be xmlDoc, jsonObj, html, text, etc...
}