- 用JS設(shè)置請(qǐng)求頭
設(shè)置第一部分:request.open('get','/xxx')
設(shè)置第二部分:request.setRequestHeader('content-type','x-www-form-urlencoded')
設(shè)置第三部分:request.send('key1=value1&key2=value2')
- 用JS獲取響應(yīng)頭
獲取第一部分:request.status / request.statusText
獲取第二部分:request.getResponseHeader('Content-Type') / request.getAllResponseHeaders()
獲取第四部分:request.responseText
- 為了避免寫的API參數(shù)太多而混亂的情況,一般把要傳入的多個(gè)參數(shù)變成對(duì)象,把該對(duì)象的key定下來,就相當(dāng)于參數(shù)命名(ES6的解構(gòu)賦值)
- 即使響應(yīng)是4開頭的狀態(tài)碼,也會(huì)有第四部分,也可以讀取第四部分
- 通過
arguments.length來使得函數(shù)可以接收不固定個(gè)數(shù)的參數(shù)
function f1(x1[,x2]){
if(arguments.length === 1){......}
else if(arguments.length === 2){......}
}
上述代碼可以只傳一個(gè)參數(shù),也可以傳多個(gè)參數(shù)
-
假如函數(shù)形參少于實(shí)際參數(shù),傳入的實(shí)際參數(shù)可以從
arguments對(duì)象中獲得
image.png -
es6 解構(gòu)賦值
image.png jquery.ajax()會(huì)將響應(yīng)里content-Type是json的內(nèi)容進(jìn)行parse將字符串轉(zhuǎn)換成對(duì)象
實(shí)現(xiàn)jQuery.ajax的封裝
window.jQuery.ajax = function({url,method,body}){//函數(shù)參數(shù)傳入用到了es6的解構(gòu)賦值
return new Promise(function(resolve,reject){
let request = XMLHttpRequest()
request.open(method,url)
request.onreadychange = function(){
if(request.readyState === 4){
if(request.status === 200){resolve()}
else{reject()}
}
}
request.send()
})
}

