vue項目中使用axios處理後端接口請求,參考摘錄自axios官方文檔vue
一、axios插件包安裝ios
npm install axios --save
二、在main.js中全局引入axiosnpm
由於axios不是爲了vue寫的插件(插件內要處理)不支持vue.use()加載方式,爲方便使用,能夠將其掛載在vue原型上;全局使用this.$axiosaxios
import axios from 'axios' Vue.prototype.$axios = axios
三、axios基本使用方法,axios請求返回的是一個promise對象後端
let api = 'http://' this.$axios.post(api, {userId: '57393746696202243'}).then((response) => { console.log(response) })
四、也能夠經過向 axios 傳遞相關配置來建立請求api
let curBaseURL = 'http://' let sUrl = 'api/login' this.$axios({ method: 'post', // 請求方法-post/get(default)... url: sUrl, // `baseURL` 將自動加在 `url` 前面,除非 `url` 是一個絕對 URL。它能夠經過設置一個 `baseURL` 便於爲 axios 實例的方法傳遞相對 URL baseURL: curBaseURL, // `headers` 是即將被髮送的自定義請求頭 headers: { 'W-SEQ': 'default' }, // `params` 是即將與請求一塊兒發送的 URL 參數 // 必須是一個無格式對象(plain object)或 URLSearchParams 對象 params: { // ID: 12345 }, // 只適用於這些請求方法 'PUT', 'POST', 和 'PATCH' // 在沒有設置 `transformRequest` 時,必須是如下類型之一: // - string, plain object, ArrayBuffer, ArrayBufferView, URLSearchParams // - 瀏覽器專屬:FormData, File, Blob // - Node 專屬: Stream data:{ userId: '57393746696202243' }, // `timeout` 指定請求超時的毫秒數(0 表示無超時時間) // 若是請求話費了超過 `timeout` 的時間,請求將被中斷 // timeout: 1000, // `auth` 表示應該使用 HTTP 基礎驗證,並提供憑據 // 這將設置一個 `Authorization` 頭,覆寫掉現有的任意使用 `headers` 設置的自定義 `Authorization`頭 auth: { username: 'test', password: '1111' }, })
五、總結promise
通常咱們在項目中使用,都會提早封裝好axios請求的一些經常使用方法和屬性,api接口也會統一管理,在下一篇中再詳細記錄——關於axios請求和api接口的統一管理瀏覽器