vue-cli 使用axios的操作方法及整合axios的多種方法
1.創(chuàng)建vue腳手架
vue init webpack demo
2.cd 項(xiàng)目根目錄,再安裝axios
npm install axios -S
3.在main.js中
//把a(bǔ)xios賦值到vue的原型上,方便調(diào)用 Vue.prototype.$http = axios
4.在調(diào)用處
methods:{
axiosGet(){
let that = this;
that.$http.post('http://xxx.168.xx.220:5678/api/user/login',{
"UserAccount": "string",
"UserPassword": "string"
}).then(function(response){
console.log(response);
}).catch(function(error){
console.log(error);
})
}
}
5.可以在main.js中做一些配置
import qs from 'qs'
Vue.prototype.$http = axios
.create({
baseURL:'http://192.xx.10.xx:5678/api',
//請(qǐng)求前處理數(shù)據(jù)
transformRequest:[function(data){
console.log(data);
data=qs.stringify(data);
return data;
}],
//請(qǐng)求等待超時(shí)時(shí)間則中斷
timeout: 1500,
//請(qǐng)求后的data處理
transformResponse: [function (data) {
console.log(data);
return data;
}]
})
6.配置后可以在調(diào)用處省略一些代碼
that.$http({
method: 'post',
//這里的路徑是和main.js中的baseURL拼接而來的
url: '/user/login',
data: {
"UserAccount": "string",
"UserPassword": "string"
}
})
.then(function(response){
console.log(response);
}).catch(function(error){
console.log(error);
})
補(bǔ)充:vue-cli整合axios的幾種方法
Vue這個(gè)框架現(xiàn)在在單頁面應(yīng)用方面非常受人歡迎。
基于vue-cli創(chuàng)建的項(xiàng)目怎么樣才能更好地處理網(wǎng)絡(luò)請(qǐng)求?
首選的應(yīng)該就是axios了
這次給剛接觸vue的新手介紹一下axios在vue中如何使用
安裝的話自己去官網(wǎng)看
一、不推薦的方法
//在要使用網(wǎng)絡(luò)請(qǐng)求的組件中導(dǎo)入axios
import axios from 'axios'
export default {
name: 'HelloWorld',
data () {
return {
params:{}
}
},
methods: {
//在這里調(diào)用網(wǎng)絡(luò)請(qǐng)求
request(){
axios.get(`url${this.params}`).then(result=>{
console.log(result)
})
}
}
}
這種方法比較麻瓜哪個(gè)文件要用就 import axios from 'axios' ,但是太過繁瑣,也不利于維護(hù)。
二、網(wǎng)絡(luò)請(qǐng)求較少
//打開main.js全局導(dǎo)入axios
import Vue from 'vue'
import App from './App'
import router from './router'
import axios from 'axios'
//存在prototype中
Vue.prototype.$http = axios
//需要使用axios的其他組件調(diào)用時(shí)可以通過兩種方法
//Vue.$http.get(`url${params}`)
//this.$http.get(`url${params}`)
//但是這樣使用會(huì)出現(xiàn)一個(gè)問題,在單獨(dú)的js文件中這樣做調(diào)用不了$http,原因是沒有Vue的實(shí)例。大多數(shù)情況下用這種方法就可以滿足大部分需求了
Vue.config.productionTip = false
/* eslint-disable no-new */
new Vue({
el: '#app',
router,
template: '<App/>',
components: { App }
})
三、推薦方法
用方法二已經(jīng)可以滿足大部分需求了,寫的時(shí)候也比較爽,但是后期如果接口改變,還要一個(gè)個(gè)去查找修改,會(huì)顯得很雜亂
這里推薦一種自己平時(shí)的做法
//新建一個(gè)JS命名為api
import axios from 'axios'
//在api中導(dǎo)入axios
let base = '/v1'
//把整個(gè)項(xiàng)目的網(wǎng)絡(luò)請(qǐng)求都寫在這個(gè)文件中用export導(dǎo)出
export const getproduct = params => { return axios.get(`${base}/product/info/${params}`) }
//這樣寫方便管理整個(gè)項(xiàng)目的網(wǎng)絡(luò)請(qǐng)求
//在我們要是用這個(gè)請(qǐng)求時(shí)比如說getproduct
import {
getproduct
}from '../api/api';
export default {
name: 'HelloWorld',
data () {
return {
params:{}
}
},
methods: {
getProductList(){
getproduct(this.params).then(result=>{
console.log(result);
})
}
}
}
//注意我們導(dǎo)出的時(shí)候用的是export 所以導(dǎo)入的時(shí)候必須帶{}
總結(jié)
以上所述是小編給大家介紹的vue-cli 使用axios的操作方法及整合axios的多種方法,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
vue自定義密碼輸入框解決瀏覽器自動(dòng)填充密碼的問題(最新方法)
這篇文章主要介紹了vue自定義密碼輸入框解決瀏覽器自動(dòng)填充密碼的問題,通過將密碼輸入框的type設(shè)置為text,修改樣式上的顯示,來實(shí)現(xiàn)既可以讓瀏覽器不自動(dòng)填充密碼,又可以隱藏密碼的效果,需要的朋友可以參考下2023-04-04
watch(監(jiān)視屬性)和computed(計(jì)算屬性)的區(qū)別及實(shí)現(xiàn)案例
watch和computed是vue實(shí)例對(duì)象中的兩個(gè)重要屬性,watch是監(jiān)視屬性,用來監(jiān)視vue實(shí)例對(duì)象上屬性和方法的變化,computed被稱為計(jì)算屬性,可以將data對(duì)象中的屬性進(jìn)行計(jì)算得到新的屬性,這篇文章主要介紹了watch(監(jiān)視屬性)和computed(計(jì)算屬性)的區(qū)別,需要的朋友可以參考下2023-05-05
vue-cli腳手架搭建的項(xiàng)目去除eslint驗(yàn)證的方法
今天小編就為大家分享一篇vue-cli腳手架搭建的項(xiàng)目去除eslint驗(yàn)證的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-09-09
vue打包靜態(tài)資源后顯示空白及static文件路徑報(bào)錯(cuò)的解決
這篇文章主要介紹了vue打包靜態(tài)資源后顯示空白及static文件路徑報(bào)錯(cuò)的解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-09-09
Vue組件化(ref,props,?mixin,.插件)詳解
這篇文章主要介紹了Vue組件化(ref,?props,?mixin,?插件)的相關(guān)知識(shí),包括ref屬性,props配置項(xiàng)及mixin混入的方式,本文通過示例代碼多種方式相結(jié)合給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-05-05
Vue源碼中要const _toStr = Object.prototype.toString的原因分析
這篇文章主要介紹了Vue源碼中要const _toStr = Object.prototype.toString的原因分析,在文中給大家提到了Object.prototype.toString方法的原理,需要的朋友可以參考下2018-12-12
vue鼠標(biāo)懸停事件監(jiān)聽實(shí)現(xiàn)方法
頁面在鼠標(biāo)懸停(不動(dòng))n秒之后,頁面進(jìn)行相應(yīng)的事件,下面這篇文章主要給大家介紹了關(guān)于vue鼠標(biāo)懸停事件監(jiān)聽的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09

