Vue-cli集成axios請(qǐng)求出現(xiàn)CORS跨域問題及解決
Vue-cli集成axios請(qǐng)求出現(xiàn)CORS跨域問題
今天仍然在學(xué)習(xí)Vue,出現(xiàn)了一個(gè)我意料之中的問題
請(qǐng)求跨域問題
我想通過主機(jī)來訪問豆瓣里面的json數(shù)據(jù)
首先按照python爬蟲的思想,我掏了一個(gè)豆瓣json數(shù)據(jù)的url地址信息及參數(shù)
① 基本url: https://movie.douban.com/j/search_subjects
②請(qǐng)求參數(shù)如下:
- type:‘movie’,
- tag:‘熱門’,
- page_limit:50,
- page_start:0
二話不說開始用axios進(jìn)行數(shù)據(jù)請(qǐng)求,
那么如果沒有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:'熱門',
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)閉語法檢查
// 開啟一個(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)容,這樣子無法獲取數(shù)據(jù)
* ,所以用正則表達(dá)式將/ysj拿掉,也就是pathRewrite
*
* 3、ws是webSocket的簡(jiǎn)寫,默認(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
},
}
}
}最后由于寫了pathRewrite進(jìn)行了代理服務(wù)器到目標(biāo)服務(wù)器路徑的整理,請(qǐng)求成功了

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

