1、先安裝axios依賴,還有qs依賴vue
npm install axios --save
npm install qs --save
qs依賴包用post請求須要用到的ios
插入一個知識點:npm
npm install X --save 會把依賴包安裝在生產環境中,而且把依賴包名稱添加到 package.json 文件 dependencies。
而若是npm install X --save-dev則會把依賴包安裝在開發環境中,而且添加到 package.json 文件 devDependencies
若是vue項目要部署上線,爲防止依賴包失效,通常採用–savejson
2、在main.js入口引用axios
import qs from 'qs'; import axios from "axios"; //下面是將$axios和$qs掛在原型上,以便在實例中能用 this.$axios可以拿到 Vue.prototype.$axios = axios; Vue.prototype.$qs = qs;
3、定義全局變量複用域名地址數組
開發中的url通常是由協議+域名+端口+接口路由+參數組成
通常 協議+域名 這兩個部分是在axios是須要一直被複用的,因此能夠設置一個專業的全局變量模塊腳本文件,在模塊裏直接定義初始值,用export default 暴露出去,再入口文件main.js裏面引入這個文件地址,而且使用Vue.prototype掛載到vue實例上面服務器
import Global from '../static/config/global' //引用 Vue.prototype.GLOBAL = Global; //掛載原型,能夠使用this.GLOBAL拿到global.js的內容
4、請求後臺接口數據(get請求和post請求)
1.get請求post
this.$axios.get(this.GLOBAL.host.+「後臺接口地址」).then(res => { //獲取你須要用到的數據 })
this.$axios.get(this.GLOBAL.host.+「後臺接口地址」,{ params:{ phone:12345678 //參數,鍵值對,key值:value值 name:hh } }).then(res => { //獲取你須要用到的數據 });
2.post請求this
var data = {phone:12345678,name:hh} //定義一個data儲存須要帶的參數 this.$axios.post(this.GLOBAL.host+「後臺接口地址」,this.$qs.stringify(data) ).then(res =>{ //獲取你須要的數據 });
5、 所有代碼url
// main.js文件
import axios from "axios"; import qs from 'qs'; import Global from '../static/config/global'; Vue.prototype.$axios = axios Vue.prototype.$qs = qs; Vue.prototype.GLOBAL = Global;
// global.js文件
const host = '協議+域名地址+端口'; export default { host }
// 組件中發送axios請求(舉個例子)
<template> <div class="sort"> <li v-for="cate in categoryList" >{{cate.name}}</li> </div> </template> <script> export default { created(){ this.getCategory(); }, data(){ return{ categoryList:[] } }, methods:{ getCategory:function(){ this.$axios.get(this.GLOBAL.host+"/虛擬接口/a/all_category").then(res => { var result=res.data; if(result.code==0){ this.categoryList=result.data; } }); } } } </script> <style scoped> /*樣式*/ </style>