Vue項(xiàng)目中安裝使用axios全過程
Vue安裝使用axios
一、安裝
在控制臺輸入npm install axios -S
二、引入
在文件main.js中寫入
import axios from 'axios'; Vue.prototype.$axios = axios;
三、使用
向cgi-bin/login.cgi提交登錄data數(shù)據(jù)。
注意:
- 提交的Content-Type要看后端以什么方式接收,然后以相應(yīng)的方式提交,要不然后端收到的就是被轉(zhuǎn)碼的亂碼。
- data的格式按自己要求修改。
//cgi-bin/login.cgi是提交登錄的地址 ? ? ? ? const qs = require("qs"); ? ? ? ? const data = { ? ? ? ? ? operate: "login", ? ? ? ? ? psw: this.form.password, ? ? ? ? }; ? ? ? ?? ? ? ? ? //默認(rèn)提交方式為Content-Type: application/x-www-form-urlencoded ? ? ? ? this.$axios ? ? ? ? ? .post('/cgi-bin/login.cgi', ? ? ? ? ? ? qs.stringify({ ? ? ? ? ? ? ? data: JSON.stringify(data), ? ? ? ? ? ? }), ? ? ? ? ? ) ? ? ? ? ?? ? ? ? ? ? //修改為Content-Type: application/json;charset=UTF-8方式: ? ? ? ? ? //this.$axios ? ? ? ? ? //.post( ? ? ? ? ? // ?"/cgi-bin/login.cgi", ? ? ? ? ? // ?// qs.stringify({ ? ? ? ? ? ?// ? data, ? ? ? ? ? // ?// }), ? ? ? ? ? // ?{ ? ? ? ? ? // ? ?headers: { ? ? ? ? ? // ? ? ?"Content-Type": "application/json;charset=UTF-8", ? ? ? ? ? ?// ? }, ? ? ? ? ? // ?} ? ? ? ? ?// ) ? ? ? ? ? .then((result) => {//提交成功 ? ? ? ? ? ? // console.log("login:"+result); ? ? ? ? ? ? // console.log("login2:"+JSON.stringify(result) ); ? ? ? ? ? ? if (result.data == 'ok') {返回‘ok' ? ? ? ? ? ? ? localStorage.setItem('login', 'ok');//瀏覽器保存登錄成功 ? ? ? ? ? ? ? this.$message({ ? ? ? ? ? ? ? ? message: '登陸成功', ? ? ? ? ? ? ? ? type: 'success', ? ? ? ? ? ? ? }); ? ? ? ? ? ? ? this.$router.push('/home');//跳轉(zhuǎn)頁面 ? ? ? ? ? ? } else { ? ? ? ? ? ? ? this.$message.error('密碼錯(cuò)誤'); ? ? ? ? ? ? } ? ? ? ? ? }) ? ? ? ? ? .catch((error) => {//提交失敗 ? ? ? ? ? ? console.log('Error', error.message); ? ? ? ? ? ? this.$message.error('服務(wù)連接錯(cuò)誤'); ? ? ? ? ? });
默認(rèn)提交方式為Content-Type: application/x-www-form-urlencoded結(jié)果:
Content-Type: application/json;charset=UTF-8方式結(jié)果:
vue開發(fā)使用axios的時(shí)候報(bào)錯(cuò)
Cannot set property “axios” of undefined
前天寫代碼的時(shí)候,第一次用axios報(bào)了一個(gè)錯(cuò),再三檢查下,發(fā)現(xiàn)代碼是沒有問題的。然后檢查了版本發(fā)現(xiàn)了問題。
打開package.json文件,找到對應(yīng)的版本號。時(shí)至今日,axios最新的版本號是3.0.1,所以使用
npm install axios -S npm install qs -S npm install vue-axios -S
命令下載的時(shí)候會下載最新版本,就有了版本之間的不和諧。
下面是package.json中的版本信息。
"dependencies": { "axios": "^0.20.0", "element-ui": "^2.13.2", "qs": "^6.9.4", "vue": "^2.5.2", "vue-axios": "^3.0.1", "vue-router": "^3.0.1" },
這個(gè)時(shí)候只需要把其中的"vue-axios": “^3.0.1”, 改成 “vue-axios”: "^2.1.5"就行了。
改完之后,要找到,文件夾中原來下載了的,并進(jìn)行刪除。
比如vue-axios我的是在D:\work\html\spa03\node_modules\vue-axios,就找到刪除。
當(dāng)然,不放心的,刪錯(cuò)了的,只要把整個(gè)node_modules文件夾刪除了就好了。
打開cmd窗口,進(jìn)入文件夾路徑,然后npm i,就可以下載剛剛刪除了的所有版塊。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Vue項(xiàng)目中使用addRoutes出現(xiàn)問題的解決方法
大家應(yīng)該都知道可以通過vue-router官方提供的一個(gè)api-->addRoutes可以實(shí)現(xiàn)路由添加的功能,事實(shí)上就也就實(shí)現(xiàn)了用戶權(quán)限,這篇文章主要給大家介紹了關(guān)于Vue項(xiàng)目中使用addRoutes出現(xiàn)問題的解決方法,需要的朋友可以參考下2021-08-08vue2 el-table行懸停時(shí)彈出提示信息el-popover的實(shí)現(xiàn)
本文主要介紹了vue2 el-table行懸停時(shí)彈出提示信息el-popover的實(shí)現(xiàn),用到了cell-mouse-enter、cell-mouse-leave兩個(gè)事件,具有一定的參考價(jià)值,感興趣的可以了解一下2024-01-01VUE實(shí)時(shí)監(jiān)聽元素距離頂部高度的操作
這篇文章主要介紹了VUE實(shí)時(shí)監(jiān)聽元素距離頂部高度的操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-07-07瀏覽器事件循環(huán)與vue nextTicket的實(shí)現(xiàn)
這篇文章主要介紹了瀏覽器事件循環(huán)(結(jié)合vue nextTicket)的實(shí)現(xiàn)方法,需要的朋友可以參考下2019-04-04