建議學(xué)習(xí)時(shí)長(zhǎng): 30分鐘
學(xué)習(xí)方式:深入
學(xué)習(xí)目標(biāo)
- 知道如何給服務(wù)器發(fā) GET,POST 請(qǐng)求吃靠;如何傳參倔丈;數(shù)據(jù)回調(diào)
詳細(xì)介紹
這里介紹的與服務(wù)器端交互,指通過 HTTP 的方式碰声,給后端發(fā)請(qǐng)求。
基本用法
$.ajax(url[,ajaxSetting])
ajaxSetting
url
data
-
type
請(qǐng)求的method,包括 GET,POST,PUT,PATCH,DELETE -
headers
設(shè)置請(qǐng)求頭信息 -
async
是否用同步的方式熬甫,默認(rèn)是 false -
dataType
對(duì)從服務(wù)器端返回來(lái)的數(shù)據(jù)按照什么格式進(jìn)行解析胰挑,格式包括 xml, json, script, 或 html -
beforeSend
Function( jqXHR jqXHR, PlainObject settings )
回調(diào)
-
success
類型: Function( PlainObject data, String textStatus, jqXHR jqXHR ) fail
always
complete
jqXHR
$.ajax
的返回值
jqXHR上的屬性和方法
- readyState
- status 服務(wù)器端返回的狀態(tài)碼
- statusText
- readyState
- setRequestHeader(name, value)
- getAllResponseHeaders()
- getResponseHeader()
- statusCode()
- abort()
配置全局ajax默認(rèn)值
$.ajaxSetup(options)
如:
$.ajaxSetup({
'headers': {
'content-type': 'application/json'
}
});
不建議
用 JSON 的方式將數(shù)據(jù)傳給后端
$.ajax({
url: url,
type: 'post',
'headers': { // 注意點(diǎn)1
'content-type': 'application/json'
},
data: JSON.stringify({ // 注意點(diǎn)2。一定要 JSON.stringify
key1: value1,
key2: value2
})
})
jsonp
promise
- done
- fail
- always