axois請求數據格式:
axois有多種請求方式,包括:
axios#request(config)
axios#get(url[,config])
axios#delete(url[,config])
axios#head(url[,config])
axios#post(url[,data[,config]])
axios#put(url[,data[,config]])
axios#patch(url[,data[,config]])
比較常用的就是POST和GET。默認方式爲GET。
{
//`url`是服務器鏈接,用來請求用
url:'/user',
//`method`是發起請求時的請求方法
method:`get`,
//`baseURL`如果`url`不是絕對地址,那麼將會加在其前面。
//當axios使用相對地址時這個設置非常方便
//在其實例中的方法
baseURL:'http://some-domain.com/api/',
//`transformRequest`允許請求的數據在傳到服務器之前進行轉化。
//這個只適用於`PUT`,`GET`,`PATCH`方法。
//數組中的最後一個函數必須返回一個字符串,一個`ArrayBuffer`,或者`Stream`
transformRequest:[function(data){
//依自己的需求對請求數據進行處理
return data;
}],
//`transformResponse`允許返回的數據傳入then/catch之前進行處理
transformResponse:[function(data){
//依需要對數據進行處理
return data;
}],
//`headers`是自定義的要被髮送的頭信息
headers:{'X-Requested-with':'XMLHttpRequest'},
//`params`是請求連接中的請求參數,必須是一個純對象,或者URLSearchParams對象
params:{
ID:12345
},
//`paramsSerializer`是一個可選的函數,是用來序列化參數
//例如:(https://ww.npmjs.com/package/qs,http://api.jquery.com/jquery.param/)
paramsSerializer: function(params){
return Qs.stringify(params,{arrayFormat:'brackets'})
},
//`data`是請求提需要設置的數據
//只適用於應用的'PUT','POST','PATCH',請求方法
//當沒有設置`transformRequest`時,必須是以下其中之一的類型(不可重複?):
//-string,plain object,ArrayBuffer,ArrayBufferView,URLSearchParams
//-僅瀏覽器:FormData,File,Blob
//-僅Node:Stream
data:{
firstName:'fred'
},
//`timeout`定義請求的時間,單位是毫秒。
//如果請求的時間超過這個設定時間,請求將會停止。
timeout:1000,
//`withCredentials`表明是否跨域請求,
//應該是用證書
withCredentials:false //默認值
//`adapter`適配器,允許自定義處理請求,這會使測試更簡單。
//返回一個promise,並且提供驗證返回(查看[response docs](#response-api))
adapter:function(config){
/*...*/
},
//`auth`表明HTTP基礎的認證應該被使用,並且提供證書。
//這個會設置一個`authorization` 頭(header),並且覆蓋你在header設置的Authorization頭信息。
auth:{
username:'janedoe',
password:'s00pers3cret'
},
//`responsetype`表明服務器返回的數據類型,這些類型的設置應該是
//'arraybuffer','blob','document','json','text',stream'
responsetype:'json',
//`xsrfHeaderName` 是http頭(header)的名字,並且該頭攜帶xsrf的值
xrsfHeadername:'X-XSRF-TOKEN',//默認值
//`onUploadProgress`允許處理上傳過程的事件
onUploadProgress: function(progressEvent){
//本地過程事件發生時想做的事
},
//`onDownloadProgress`允許處理下載過程的事件
onDownloadProgress: function(progressEvent){
//下載過程中想做的事
},
//`maxContentLength` 定義http返回內容的最大容量
maxContentLength: 2000,
//`validateStatus` 定義promise的resolve和reject。
//http返回狀態碼,如果`validateStatus`返回true(或者設置成null/undefined),promise將會接受;其他的promise將會拒絕。
validateStatus: function(status){
return status >= 200 && stauts < 300;//默認
},
//`httpAgent` 和 `httpsAgent`當產生一個http或者https請求時分別定義一個自定義的代理,在nodejs中。
//這個允許設置一些選選個,像是`keepAlive`--這個在默認中是沒有開啓的。
httpAgent: new http.Agent({keepAlive:treu}),
httpsAgent: new https.Agent({keepAlive:true}),
//`proxy`定義服務器的主機名字和端口號。
//`auth`表明HTTP基本認證應該跟`proxy`相連接,並且提供證書。
//這個將設置一個'Proxy-Authorization'頭(header),覆蓋原先自定義的。
proxy:{
host:127.0.0.1,
port:9000,
auth:{
username:'cdd',
password:'123456'
}
},
//`cancelTaken` 定義一個取消,能夠用來取消請求
//(查看 下面的Cancellation 的詳細部分)
cancelToke: new CancelToken(function(cancel){
})
}
參考:傳送門