axios簡單了解

2021-09-08 07:32:10 字數 3564 閱讀 6390

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));

function

getuseraccount()

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...