vue.js - 如何解决 vue axios CORS 问题?
问题描述
如何防止 vue axios 出现 CORS 问题?
以下是使用 vue 和 axios 向后端发出请求的代码。
axios.config.js
/// here I'm creating a vue axios instance.
import axios from "axios";
export default axios.create({
baseURL: "https://example.com/api/v1/",
headers: {
Accept: "application/json",
Authorization: "TOKEN 3413413dfdsfsafd3rr41",
},
});
和里面vue.config.js
我已经代理了请求。
module.exports = {
devServer: {
proxy: {
"/api/*": {
target: "http://localhost:8081",
secure: false,
changeOrigin: true,
},
},
},
};
在我的 vuex 商店中,我正在调用一个动作:
import axios from 'axios.config'
actions: {
getData({ commit }) {
axios
.get(`products/grocery`)
.then((res) => {
console.log("res :", res);
commit("SET_DATA", res.data);
})
.catch((e) => {
console.log("e :", e);
commit("SET_ERROR", e);
});
},
}
但是当我在控制台中查看请求时,我可以看到它正在向原始 url 发送请求,https://example.com/api/v1/
而不是附加开发服务器行:http://localhost:8081/api/v1/
不知道为什么代理不起作用!
解决方案
Nuxt 提供了一个代理选项,您可以使用它来避免 cors 错误, Nuxt 文档
您可以参考这里以获取更多信息和可用选项@nuxt/proxy
推荐阅读
- java - 如何清除日历框中输入的默认值并发送新的出生日期
- javascript - 预览图片上传多个输入
- python - CNN 的多个输入:图像和参数,如何合并
- java - 将地图转换为列表
- 作为每个列表条目的“键值” - python - 如何从模板调用模型函数?
- java - Android 给出错误“无法在单个 dex 文件中容纳请求的类”
- mysql - 为什么学说 2 不支持 GROUP_CONCAT()、DATE_FORMAT()?
- c# - FSharp 函数/方法体作为脚本执行,但在运行时不作为源文件执行
- python - 为 Windows 安装 web3.py 时遇到问题
- ajax - BootstrapValidator 电子邮件验证问题