Vue-cli集成axios請(qǐng)求出現(xiàn)CORS跨域問(wèn)題及解決
Vue-cli集成axios請(qǐng)求出現(xiàn)CORS跨域問(wèn)題
今天仍然在學(xué)習(xí)Vue,出現(xiàn)了一個(gè)我意料之中的問(wèn)題
請(qǐng)求跨域問(wèn)題
我想通過(guò)主機(jī)來(lái)訪問(wèn)豆瓣里面的json數(shù)據(jù)
首先按照python爬蟲(chóng)的思想,我掏了一個(gè)豆瓣json數(shù)據(jù)的url地址信息及參數(shù)
① 基本url: https://movie.douban.com/j/search_subjects
②請(qǐng)求參數(shù)如下:
- type:‘movie’,
- tag:‘熱門(mén)’,
- page_limit:50,
- page_start:0
二話不說(shuō)開(kāi)始用axios進(jìn)行數(shù)據(jù)請(qǐng)求,
那么如果沒(méi)有axiso,請(qǐng)先下載
npm i axios
App.Vue的代碼如下
<template>
<button @click="getData">axios獲取請(qǐng)求</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:'熱門(mén)',
page_limit:50,
page_start:0
}
}
)
.then(res => {
console.log('請(qǐng)求成功',res)
})
.catch(err => {
console.error('請(qǐng)求失敗',err);
})
}
},
}
</script>
<style>
</style>
同時(shí)在vue.config,js里面配置代理服務(wù)器

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

總結(jié)
解決了跨域問(wèn)題!
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Vue2.0實(shí)現(xiàn)將頁(yè)面中表格數(shù)據(jù)導(dǎo)出excel的實(shí)例
本篇文章主要介紹了Vue2.0實(shí)現(xiàn)將頁(yè)面中表格數(shù)據(jù)導(dǎo)出excel的實(shí)例,非常具有實(shí)用價(jià)值,感興趣的同學(xué)可以了解一下2017-08-08
vue深入解析之render function code詳解
vue對(duì)大家來(lái)說(shuō)應(yīng)該再熟悉不過(guò)了,下面這篇文章主要給大家深入的解析了vue之render function code的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-07-07
vue中使用echarts并根據(jù)選擇條件動(dòng)態(tài)展示echarts圖表
雖然老早就看過(guò)很多echarts的例子, 但自己接觸的項(xiàng)目中一直都沒(méi)有真正用到過(guò),直到最近才開(kāi)始真正使用,下面這篇文章主要給大家介紹了關(guān)于vue中使用echarts并根據(jù)選擇條件動(dòng)態(tài)展示echarts圖表的相關(guān)資料,需要的朋友可以參考下2023-12-12
proxy代理不生效以及vue?config.js不生效解決方法
在開(kāi)發(fā)Vue項(xiàng)目過(guò)程中,使用了Proxy代理進(jìn)行數(shù)據(jù)劫持,但是在實(shí)際運(yùn)行過(guò)程中發(fā)現(xiàn)代理并沒(méi)有生效,也就是說(shuō)數(shù)據(jù)并沒(méi)有被劫持,這篇文章主要給大家介紹了關(guān)于proxy代理不生效以及vue?config.js不生效解決方法的相關(guān)資料,需要的朋友可以參考下2023-11-11
vue2實(shí)現(xiàn)無(wú)感刷新token的方式詳解
在Web應(yīng)用中,用戶需要通過(guò)認(rèn)證和授權(quán)才能訪問(wèn)受保護(hù)的資源,為了實(shí)現(xiàn)認(rèn)證和授權(quán)功能,通常需要使用Token來(lái)標(biāo)識(shí)用戶身份并驗(yàn)證其權(quán)限,本文給大家介紹了vue2實(shí)現(xiàn)無(wú)感刷新token的方式,需要的朋友可以參考下2024-02-02
Slots Emit和Props穿透組件封裝實(shí)現(xiàn)摸魚(yú)加鐘
這篇文章主要為大家介紹了Slots Emit和Props穿透組件封裝實(shí)現(xiàn)示例詳解,為摸魚(yú)加個(gè)鐘,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08
vue解析Json數(shù)據(jù)獲取Json里面的多個(gè)id問(wèn)題
這篇文章主要介紹了vue解析Json數(shù)據(jù)獲取Json里面的多個(gè)id問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12
基于 Vue.js 之 iView UI 框架非工程化實(shí)踐記錄(推薦)
為了快速體驗(yàn) MVVM 模式,我選擇了非工程化方式來(lái)起步,并選擇使用 Vue.js,以及基于它構(gòu)建的 iView UI 框架。本文給大家分享基于 Vue.js 之 iView UI 框架非工程化實(shí)踐記錄,需要的朋友參考下吧2017-11-11

