gpt4 book ai didi

vue.js - 具有网络错误的 Axios get 方法和状态代码为 200 的 Cors 策略

转载 作者:搜寻专家 更新时间:2023-10-30 22:49:48 25 4
gpt4 key购买 nike

当我调用 axios get 时,总是直接转到 catch block ,在控制台中显示网络错误,访问 XMLHttpRequest at ' http://13.234.115.246/customers_log.php '来自原产地' http://localhost:8080 ' 已被 CORS 策略阻止:预检响应中的 Access-Control-Allow-Headers 不允许请求 header 字段 access-control-allow-origin。

但是状态码是200

请求网址:http://13.234.115.246/customers_log.php请求方法:选项状态码:200 OK远程地址:13.234.115.246:80推荐人政策:降级时不推荐人

如何解决这个问题

最佳答案

在执行GET/POST 之前,网络浏览器将首先执行“预检请求”。这是 OPTIONS 类型的请求,仅用于验证哪些选项是允许的/可能的。

预检请求成功(即状态代码 200)但告诉您不允许 CORS。因此,实际的 GET/POST/... 请求不会被执行。为什么不呢?

  • 托管您的网页的网络服务器与提供 REST 服务的服务器不同。这可能表明存在安全问题。
  • 网络服务器配置为通知您的客户。

我猜你还处于开发阶段。所以,如果你想允许的话,你基本上只需要在你的后端服务器上启用 CORS。

对于节点

例如如果你使用 NodeJS,你可以添加如下内容。

app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
next();
});

对于 php

对于 php,请参阅此 thread .

关于vue.js - 具有网络错误的 Axios get 方法和状态代码为 200 的 Cors 策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55629594/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com