axios是基於客戶端的promise,面向瀏覽器和nodejs
瀏覽器端發起xmlhttprequests請求
node端發起http請求
支援promise api
監聽請求和返回
轉化請求和返回
取消請求
自動轉化json資料
客戶端支援抵禦
//方式一//
發起乙個user請求,引數為給定的id
axios.get('/user?id=1234')
.then(
function
(respone))
.catch(function
(error)); //
方式二axios.get('/user',
}).then(
function
(respone))
.catch(function
(error));
//第乙個引數firstname:'friend'
//第二個引數lastname:'flintstone'
axios.post('/user',)
.then(
function
(response))
.catch(function
(error));
functiongetuseraccount()
function
getuserpermissions()
axios.all([getuseraccount(), getuserpermissions()])
.then(axios.spread(
function
(acct, perms) ));
],//`transformresponse`選項允許我們在資料傳送到`then/catch`方法之前對資料進行改動
transformresponse:[function
(data)],
//`headers`選項是需要被傳送的自定義請求頭資訊
headers: ,
//`params`選項是要隨請求一起傳送的請求引數----一般鏈結在url後面
//他的型別必須是乙個純物件或者是urlsearchparams物件
params: ,
//`paramsserializer`是乙個可選的函式,起作用是讓引數(params)序列化
//例如(
paramsserializer: function
(params))
},//
`data`選項是作為乙個請求體而需要被傳送的資料
//該選項只適用於方法:`put/post/patch`
//當沒有設定`transformrequest`選項時dada必須是以下幾種型別之一
//僅僅瀏覽器:formdata/file/bold
//僅node:stream
data ,
//`timeout`選項定義了請求發出的延遲毫秒數
//如果請求花費的時間超過延遲的時間,那麼請求會被終止
timeout:1000,
//`withcredentails`選項表明了是否是跨域請求
withcredentials:
false,//
default
//`adapter`介面卡選項允許自定義處理請求,這會使得測試變得方便
//返回乙個promise,並提供驗證返回
adapter: function
(config),
//`auth`表明http基礎的認證應該被使用,並提供證書
//這會設定乙個authorization頭(header),並覆蓋你在header設定的authorization頭資訊
auth: ,
//返回資料的格式
//其可選項是arraybuffer,blob,document,json,text,stream
responsetype:'json',//
default
// xsrfcookiename: 'xsrf-token',//
default
xsrfheadername:'x-xsrf-token',//
default
//`onuploadprogress`上傳進度事件
onuploadprogress:function
(progressevent)
},//
相應內容的最大值
maxcontentlength:2000,
//`validatestatus`定義了是否根據http相應狀態碼,來resolve或者reject promise
//如果`validatestatus`返回true(或者設定為`null`或者`undefined`),那麼promise的狀態將會是resolved,否則其狀態就是rejected
validatestatus:function
(status),
//`maxredirects`定義了在nodejs中重定向的最大數量
maxredirects: 5,//
default
//`httpagent/httpsagent`定義了當傳送http/https請求要用到的自定義**
//keeyalive在選項中沒有被預設啟用
//proxy定義了主機名字和埠號,
//`auth`表明http基本認證應該與proxy**鏈結,並提供證書
//這將會設定乙個`proxy-authorization` header,並且會覆蓋掉已經存在的`proxy-authorization` header
proxy:
},//
`canceltoken`定義了乙個用於取消請求的cancel token
//詳見cancelation部分
canceltoken: new canceltoken(function
(cancel))
}
,status:200,
//從伺服器返回的http狀態文字
statustext:'ok',
//響應頭資訊
headers: {},
//`config`是在請求的時候的一些配置資訊
config: {}
}
//例項axios.get('/user/12345')
.then(
function
(res))
posted @
2018-11-11 17:48
韋邦槓 閱讀(
...)
編輯收藏
簡單使用 axios
這幾天做用 vue 給後台發資料的使用了vue resource,結果報錯,怎麼改都是錯,實在是沒辦法,看下 vue 的官網,結果發現vue官方不支援維護vue resource,尤大也建議我們使用axios,後來就用了下,一次就成功了,真心好用。axios 是乙個基於 promise 的 http...
axios 簡單封裝
參考文件 建立乙個http.js檔案 import axios from axios import from vant 環境的切換 if process.env.node env development else if process.env.node env debug else if proce...
vue簡單封裝axios
1 在src下新建api資料夾,在api資料夾下新建config.js檔案 2 config.js配置如下 import axios from axios import qs from qs mint ui 框架,若不需要請全部注釋掉 import from mint ui axios.defaul...