Fork me on GitHub

vue跨域


1
2
3
4
5
6
7
8
9
根目录新建vue.config.js

cors 策略 跨域资源共享策略
跨域
http://localhost:8080/
https://wanandroid.com
默认浏览是不允许跨域请求的 ,因为同源策略

同源策略(Same-Origin Policy)。所谓的 同源 是指域名、协议、端口号 相同。不同的客户端脚本(javascript,ActionScript)在没有授权的情况下,不能读取对方资源。简单来说,浏览器允许包含在页面A的脚本访问第二个页面B的数据资源,这一切是建立在A和B页面是同源的基础上。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
两种解决方案
1. 后台处理 比如说 cnode中文社区 vue中文社区
2. 前台自己处理 vue中 jquery中 react中


在 vue 中 前台处理跨域请求 使用 proxy
proxy 是 webpack 的一个配置 代理配置

axios.get("/api/article/listproject/0/json").then(res => {
console.log(res.data.data.datas);
this.text = res.data.data.datas;
});

module.exports = {
devServer: {
proxy: {
// /api 是发送请求的一个代理
// 比如 我们之前 axios.get('https://wanandroid.com/article/listproject/0/json')
// 代理之后请求写成 '/api/article/listproject/0/json'
"/api": {
//对应自己的接口
target: "https://wanandroid.com/",
changeOrigin: true,
ws: true,
pathRewrite: {
"^/api": ""
}
}
}
}
}

请我喝杯可乐吧