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