使用Vue js调用axios发布请求时出现CORS和网络错误

Posted

技术标签:

【中文标题】使用Vue js调用axios发布请求时出现CORS和网络错误【英文标题】:getting CORS and network error while calling axios post request using Vue js 【发布时间】:2021-03-26 21:10:47 【问题描述】:

我在调用 axios 发布请求时遇到错误。但它在邮递员上工作正常。

我用来调用请求的代码是

methods : 
     displayData()
        var config = 
            method: 'post',
            url: 'http://localhost:5000/api/request/displayRequest',
            headers:  
                'Content-Type': 'application/json'
            ,
        data : JSON.parse(JSON.stringify(this.user._id))
        ;

            axios(config)
            .then(function (response) 
            console.log(JSON.stringify(response.data));
            )
            .catch(function (error) 
            console.log(error);
            );
        ,
    async mounted()
        this.displayData()
    

我已经在 server.js 的后端实现了 CORS

// Cors Middleware
const cors = require('cors');
app.use(cors());
app.options("*", cors());

【问题讨论】:

【参考方案1】:

在你的后端使用这个:

npm i cors

在您的快速后端入口点中:

const cors = require("cors");
app.use(cors());
app.options("*", cors());

【讨论】:

我已经在后端使用了这段代码@babakabadkheir【参考方案2】:

您正在本地主机上运行您的前端并使用一些端口。此外,您的后端在 localhost 端口 5000 上运行。但是由于 CORS 策略,您的前端应用程序无法访问任何其他端口。如果您使用的是 Node JS,则可以在后端解决此问题。 通过以下命令安装cors:

npm i cors

然后在您的服务器文件上,更改您的应用程序

app.use(cors());

注意如果你使用 React js,你可以使用 http-proxy-middleware。只需在 src 目录中创建一个名为“setupProxy.js”的文件。并添加以下行。

const  createProxyMiddleware  = require("http-proxy-middleware");
module.exports = function (app) 
    app.use(
    "/api",
    createProxyMiddleware(
      target: "http://localhost:5000/",
    )
  );
;

不要忘记将此文件中的端口更改为您服务器的端口。

【讨论】:

【参考方案3】:
app.use(
  cors(
    origin: (origin, callback) => callback(null, true), // you can control it based on condition.
    credentials: true, // if using cookie sessions.
  )
);

【讨论】:

这并没有提供问题的答案。要批评或要求作者澄清,请在其帖子下方发表评论。 @Clijsters cmets 里面的代码,够了!

以上是关于使用Vue js调用axios发布请求时出现CORS和网络错误的主要内容,如果未能解决你的问题,请参考以下文章

全局修改 axios 默认标头时出现问题 - Vue

进行 axios.get 调用时出现 CORS 错误

在 nativescript-vue 项目上的 axios 导入时出现意外的令牌错误

在 Nest JS 中发出 http 请求时出现 httpService 未定义错误

Axios-一次发出多个请求(vue.js)

使用 Vue Axios (CORS) 发送/存储会话 cookie 时出现问题