axois請求數據格式

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){
    })
}

參考:傳送門

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章