vue使用Axios做ajax請求

2021-08-22 13:45:02 字數 4168 閱讀 8025

**vue使用axios做ajax請求

vue2.0之後,就不再對vue-resource更新,而是推薦使用axios

安裝 axios

$ npm install axios

或$ bower install axios

2. 在要使用的檔案中引入axios

import axios from 『axios』

3. 使用axios做請求

可以通過向 axios 傳遞相關配置來建立請求, 只有 url 是必需的。如果沒有指定 method,請求將預設使用 get 方法。

複製**

,//params是即將與請求一起傳送的 url 引數

// 必須是乙個無格式物件(plain object)或 urlsearchparams 物件

params: ,

//paramsserializer是乙個負責params序列化的函式

// (e.g.

paramsserializer: function(params) )

},//data是作為請求主體被傳送的資料

// 只適用於這些請求方法 『put』, 『post』, 和 『patch』

// 在沒有設定transformrequest時,必須是以下型別之一:

// - string, plain object, arraybuffer, arraybufferview, urlsearchparams

// - 瀏覽器專屬:formdata, file, blob

// - node 專屬: stream

data: ,

//timeout指定請求超時的毫秒數(0 表示無超時時間)

// 如果請求話費了超過timeout的時間,請求將被中斷

timeout: 1000,

//withcredentials表示跨域請求時是否需要使用憑證

withcredentials: false, // 預設的

//adapter允許自定義處理請求,以使測試更輕鬆

// 返回乙個 promise 並應用乙個有效的響應 (查閱 response docs).

adapter: function (config) ,

//auth表示應該使用 http 基礎驗證,並提供憑據

// 這將設定乙個authorization頭,覆寫掉現有的任意使用headers設定的自定義authorization

auth: ,

//responsetype表示伺服器響應的資料型別,可以是 『arraybuffer』, 『blob』, 『document』, 『json』, 『text』, 『stream』

responsetype: 『json』, // 預設的

//xsrfcookiename是用作 xsrf token 的值的cookie的名稱

xsrfcookiename: 『xsrf-token』, // default

//xsrfheadername是承載 xsrf token 的值的 http 頭的名稱

xsrfheadername: 『x-xsrf-token』, // 預設的

//onuploadprogress允許為上傳處理進度事件

onuploadprogress: function (progressevent) ,

//maxcontentlength定義允許的響應內容的最大尺寸

maxcontentlength: 2000,

//validatestatus定義對於給定的http 響應狀態碼是 resolve 或 reject promise 。如果validatestatus返回true(或者設定為nullundefined),promise 將被 resolve; 否則,promise 將被 rejecte

validatestatus: function (status) ,

//maxredirects定義在 node.js 中 follow 的最大重定向數目

// 如果設定為0,將不會 follow 任何重定向

maxredirects: 5, // 預設的

//httpagenthttpsagent分別在 node.js 中用於定義在執行 http 和 https 時使用的自定義**。允許像這樣配置選項:

//keepalive預設沒有啟用

// 『proxy』 定義**伺服器的主機名稱和埠

//auth表示 http 基礎驗證應當用於連線**,並提供憑據

// 這將會設定乙個proxy-authorization頭,覆寫掉已有的通過使用header設定的自定義proxy-authorization頭。

proxy:

},//canceltoken指定用於取消請求的 cancel token

canceltoken: new canceltoken(function (cancel) )

}為方便,所有支援的請求方法都提供了別名:

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

4. 請求的響應結構

,//status來自伺服器響應的 http 狀態碼

status: 200,

//statustext來自伺服器響應的 http 狀態資訊

statustext: 『ok』,

//headers伺服器響應的頭

headers: {},

//config是為請求提供的配置資訊

config: {}

}使用 then 時,你將接收下面這樣的響應:

axios.get(『/user/12345』)

.then(function(response) );

在使用 catch 時,響應可以通過 error 物件可被使用

axios.post(『/user』, )

.catch(function (error) );

使用例項

el1: get請求

axios.get(『/user』,

}) .then(function (response) )

.catch(function (error) );

el2: post請求

axios.post(『/user』, )

.then(function (response) )

.catch(function (error) );

el3: 執行多個併發請求

function getuseraccount()

function getuserpermissions()

axios.all([getuseraccount(), getuserpermissions()])

.then(axios.spread(function (acct, perms) ));

vue使用Axios做ajax請求

vue2.0之後,就不再對vue resource更新,而是推薦使用axios 1.安裝 axios npm install axios 或 bower install axios 2.在要使用的檔案中引入axios import axios from axios 3.使用axios做請求 可以通過...

VUE中使用axios做ajax請求

vue2.0之後,就不再對vue resource更新,而是推薦使用axios 1.安裝 axios npm install axios或 bower install axios2.在要使用的檔案中引入axios import axios from axios 3.使用axios做請求 可以通過向a...

vue 使用axios傳送ajax請求

1 首先匯入兩個包,乙個是vue的包,乙個是axios的包 script script 資料的雙向繫結 input v model inputdata type text 事件繫結 input click searchdata type button value 搜尋 列表渲染 for ser in...