uniapp中安裝axios并解決跨域問(wèn)題小結(jié)
1、安裝axios
npm install axios
2、導(dǎo)入
在main.js中導(dǎo)入使用
import axios from 'axios'; // 創(chuàng)建一個(gè)名為 $axios 的全局變量 Vue.prototype.$axios = axios
3、使用(發(fā)請(qǐng)求)
<template> <view class="container"> <view class="form"> <view class="form-item"> <text class="label">用戶名:</text> <input type="text" v-model="userId" class="input" placeholder="請(qǐng)輸入用戶名"> </view> <view class="form-item"> <text class="label">密碼:</text> <input type="password" v-model="password" class="input" placeholder="請(qǐng)輸入密碼"> </view> <view class="form-item"> <button @click="login" class="button">登錄</button> </view> <view v-if="error" class="error">{{ error }}</view> </view> </view> </template> <script> export default { data() { return { userId: '', password: '', error: '' }; }, methods: { login() { // 發(fā)送登錄請(qǐng)求 this.$axios({ method: "post", url: "http://localhost:8080/api/user/login", data: { userId: this.userId, password: this.password, }, }) .then((res) => { console.log(res); if (res.data.code == "200") { // 登錄成功,顯示成功提示信息 this.$message({ message: res.data.message, type: "success", }); // 跳轉(zhuǎn)到后臺(tái)主頁(yè) (編程式導(dǎo)航) this.$router.push("/pages/index/index"); } }); } } } </script>
4.解決跨域問(wèn)題
如下圖顯示就是跨域問(wèn)題
1.為什么要解決跨域問(wèn)題?
跨域(Cross-Origin)是指在瀏覽器中,當(dāng)前網(wǎng)頁(yè)的協(xié)議、域名或端口與請(qǐng)求目標(biāo)的協(xié)議、域名或端口不相同,即存在跨域請(qǐng)求的情況。
2.前端如何解決跨域問(wèn)題?
在項(xiàng)目根目錄下創(chuàng)建vue.config.js文件并增加以下內(nèi)容:
module.exports = { devServer: { proxy: { '/api': { target: 'http://localhost:9090', changeOrigin: true, pathRewrite: { '^/api': '' } } } } };
這段代碼是一個(gè) webpack 配置文件,通常用于 Vue.js 項(xiàng)目。它的作用是配置開(kāi)發(fā)服務(wù)器的代理,用于將請(qǐng)求轉(zhuǎn)發(fā)到指定的目標(biāo)服務(wù)器。
具體解釋如下:
module.exports
: 這是 Node.js 中用于導(dǎo)出模塊的語(yǔ)法,表明這是一個(gè)模塊的導(dǎo)出。devServer
: 這是 webpack-dev-server 的配置項(xiàng),用于配置開(kāi)發(fā)服務(wù)器。proxy
: 這是開(kāi)發(fā)服務(wù)器的代理配置,用于將某些請(qǐng)求代理到另一個(gè)服務(wù)器。'/api'
: 表示需要被代理的路徑前綴。即,當(dāng)請(qǐng)求路徑以 '/api' 開(kāi)頭時(shí),將會(huì)被代理。target: 'http://localhost:9090'
: 這是代理的目標(biāo)服務(wù)器地址,即請(qǐng)求將被轉(zhuǎn)發(fā)到這個(gè)地址。changeOrigin: true
: 這是一個(gè)布爾值,表示是否改變請(qǐng)求頭中的 origin 字段為目標(biāo) URL,通常在跨域請(qǐng)求時(shí)設(shè)置為 true。pathRewrite: {'^/api': ''}
: 這是一個(gè)對(duì)象,用于重寫(xiě)路徑。它的作用是將請(qǐng)求路徑中的 '/api' 替換為空字符串,即將 '/api' 去掉,這樣最終發(fā)送到目標(biāo)服務(wù)器的請(qǐng)求路徑就不包含 '/api' 了。
綜上所述,這段代碼的作用是將以 '/api' 開(kāi)頭的請(qǐng)求代理到目標(biāo)服務(wù)器 http://localhost:9090,同時(shí)將請(qǐng)求路徑中的 '/api' 去掉。
到此這篇關(guān)于在uniapp中如何安裝axios并解決跨域問(wèn)題的文章就介紹到這了,更多相關(guān)uniapp安裝axios內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JS兩個(gè)數(shù)組比較,刪除重復(fù)值的巧妙方法(推薦)
下面小編就為大家?guī)?lái)一篇JS兩個(gè)數(shù)組比較,刪除重復(fù)值的巧妙方法(推薦)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-06-06微信小程序?qū)崿F(xiàn)移動(dòng)端滑動(dòng)分頁(yè)效果(ajax)
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)移動(dòng)端滑動(dòng)分頁(yè)效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06javascript數(shù)組對(duì)象常用api函數(shù)小結(jié)(連接,插入,刪除,反轉(zhuǎn),排序等)
這篇文章主要介紹了javascript數(shù)組對(duì)象常用api函數(shù),結(jié)合實(shí)例形式總結(jié)分析了javascript針對(duì)數(shù)組的連接、刪除、反轉(zhuǎn)、排序、插入等操作相關(guān)函數(shù)用法,需要的朋友可以參考下2016-09-09JavaScript new對(duì)象的四個(gè)過(guò)程實(shí)例淺析
這篇文章主要介紹了JavaScript new對(duì)象的四個(gè)過(guò)程,結(jié)合實(shí)例形式簡(jiǎn)單分析了javascript面向?qū)ο蟪绦蛟O(shè)計(jì)中new對(duì)象的四個(gè)過(guò)程相關(guān)原理與實(shí)現(xiàn)方法,需要的朋友可以參考下2018-07-07用jmSlip編寫(xiě)移動(dòng)端頂部日歷選擇控件
這篇文章主要為大家詳細(xì)介紹了利用jmSlip編寫(xiě)移動(dòng)端頂部日歷選擇組件的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-10-10js中switch case循環(huán)實(shí)例代碼
這篇文章主要介紹了js中switch case循環(huán)實(shí)例代碼,有需要的朋友可以參考一下2013-12-12顯示今天的日期js代碼(陽(yáng)歷和農(nóng)歷)
這篇文章主要介紹了Js中顯示日期和農(nóng)歷的代碼,很簡(jiǎn)單,但很實(shí)用,有圖片,需要的朋友可以參考下2014-09-09