Vue-cli集成axios請求出現(xiàn)CORS跨域問題及解決
Vue-cli集成axios請求出現(xiàn)CORS跨域問題
今天仍然在學(xué)習(xí)Vue,出現(xiàn)了一個我意料之中的問題
請求跨域問題
我想通過主機(jī)來訪問豆瓣里面的json數(shù)據(jù)
首先按照python爬蟲的思想,我掏了一個豆瓣json數(shù)據(jù)的url地址信息及參數(shù)
① 基本url: https://movie.douban.com/j/search_subjects
②請求參數(shù)如下:
- type:‘movie’,
- tag:‘熱門’,
- page_limit:50,
- page_start:0
二話不說開始用axios進(jìn)行數(shù)據(jù)請求,
那么如果沒有axiso,請先下載
npm i axios
App.Vue的代碼如下
<template>
<button @click="getData">axios獲取請求</button>
</template>
<script>
import axios from 'axios';
// 聯(lián)系網(wǎng)址:https://movie.douban.com/j/chart/top_list?type=5&interval_id=100%3A90&action=&start=0&limit=20
export default {
methods: {
getData(){
axios.get('/ysj/j/search_subjects'
,{
params:{
type:'movie',
tag:'熱門',
page_limit:50,
page_start:0
}
}
)
.then(res => {
console.log('請求成功',res)
})
.catch(err => {
console.error('請求失敗',err);
})
}
},
}
</script>
<style>
</style>
同時(shí)在vue.config,js里面配置代理服務(wù)器

module.exports = {
pages:{
index:{
//程序的入口
entry:'src/main.js',
},
},
lintOnSave:false, //關(guān)閉語法檢查
// 開啟一個Vue的代服務(wù)器,后面端口視自己請求的端口修改
// devServer: {
// proxy: 'https://movie.douban.com'
// }
/**
* 1、/ysj 是加到實(shí)際請求的端口后面
*
* 2、而在實(shí)際請求中,瀏覽器請求發(fā)給代理服務(wù)器
* ,代理服務(wù)器也會攜帶/ysj內(nèi)容,這樣子無法獲取數(shù)據(jù)
* ,所以用正則表達(dá)式將/ysj拿掉,也就是pathRewrite
*
* 3、ws是webSocket的簡寫,默認(rèn)是true
*
* 4、changeOrigin為true代表當(dāng)代理服務(wù)器給目標(biāo)服務(wù)器發(fā)送請求時(shí)
* ,給出的與目標(biāo)服務(wù)器一致的端口號, 防止目標(biāo)服務(wù)器攔截我的請求
*/
devServer: {
proxy: {
'/ysj': {
target: 'https://movie.douban.com',
pathRewrite:{'^/ysj':''},
// ws: true,
changeOrigin: true
},
}
}
}最后由于寫了pathRewrite進(jìn)行了代理服務(wù)器到目標(biāo)服務(wù)器路徑的整理,請求成功了

總結(jié)
解決了跨域問題!
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue封裝可復(fù)用組件confirm,并綁定在vue原型上的示例
今天小編就為大家分享一篇vue封裝可復(fù)用組件confirm,并綁定在vue原型上的示例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-10-10
Vite打包性能優(yōu)化之開啟Gzip壓縮實(shí)踐過程
vue前端項(xiàng)目發(fā)布的時(shí)候,打包可實(shí)現(xiàn)gzip格式的壓縮,下面這篇文章主要給大家介紹了關(guān)于Vite打包性能優(yōu)化之開啟Gzip壓縮的相關(guān)資料,需要的朋友可以參考下2022-12-12
使用vue-cli腳手架工具搭建vue-webpack項(xiàng)目
這篇文章主要介紹了使用vue-cli腳手架工具搭建vue-webpack項(xiàng)目,通過幾個默認(rèn)的步驟幫助你快速的構(gòu)建Vue.js項(xiàng)目。非常具有實(shí)用價(jià)值,需要的朋友可以參考下2019-01-01
Vue如何通過Vue.prototype定義原型屬性實(shí)現(xiàn)全局變量
在Vue.js開發(fā)中,通過原型屬性為Vue實(shí)例添加全局變量是一種常見做法,使用$前綴命名,可以避免與組件內(nèi)部的數(shù)據(jù)、方法或計(jì)算屬性產(chǎn)生命名沖突,這種方式簡單有效,確保了變量在所有Vue實(shí)例中的可用性,同時(shí)保持全局作用域的整潔2024-10-10
vue 詳情跳轉(zhuǎn)至列表頁實(shí)現(xiàn)列表頁緩存
這篇文章主要介紹了vue 詳情跳轉(zhuǎn)至列表頁實(shí)現(xiàn)列表頁緩存,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03
使用el-upload實(shí)現(xiàn)文件上傳方式(包括預(yù)覽,下載)
該文章介紹了兩種文件上傳、預(yù)覽和下載的方法,分別是通過卡片形式和按鈕形式,卡片形式中的下載和預(yù)覽功能尚未完善,父組件使用了el-upload組件,可以實(shí)現(xiàn)新增、編輯和查看文件的功能2025-11-11
element-ui中的select下拉列表設(shè)置默認(rèn)值方法
今天小編就為大家分享一篇element-ui中的select下拉列表設(shè)置默認(rèn)值方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-08-08

