当前位置: 首页 > 知识库问答 >
问题:

具有网络错误和状态代码为200的Cors策略的Axios获取方法

杨利
2023-03-14

当我调用axios时,get总是直接转到控制台中显示网络错误的catch块,从起源'http://13.234.115.246/customers_log.php'访问XMLHttpRequest“http://localhost:8080'已被CORS策略阻止:在飞行前响应中的access-control-allog-headers不允许请求头字段access-control-allog-orgin。

如何理解这个问题

共有1个答案

丌官绍元
2023-03-14

在执行get/post之前,webbrowser将首先执行“飞行前请求”。这是一个options类型的请求,它只是为了验证哪些选项是允许的/可能的。

飞行前请求是成功的(即状态代码200),但告诉您CORS是不允许的。因此,实际的get/post/······不会执行请求。为什么不呢?

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

如果使用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,请参见下面的线程。

 类似资料:
  • 我使用axios与自己的API(不是用NodeJS编写的)通信。 当我发布一个非简单的请求时,axios总是直接转到控制台中显示网络错误的catch块,即使有2个成功的Http请求。 错误:网络错误堆栈跟踪:createerror@http://localhost:3000/statist/js/bundle.js:1634:15 handleerror@http://localhost:3000

  • 我在Axios上使用Vue JS 2.5: 我想打一个像这样的电话: 我也尝试过不使用“axioconfig”参数。但每次它进入catch时,都会显示一条消息:Error:networkerror 在浏览器的网络选项卡中,我得到了200个状态和良好的响应(使用有效的json),它基本上可以工作,但Axios返回错误,没有响应。 控制台还输出以下警告: 我试着从邮递员那里打同样的电话,效果很好。不同

  • 这可能看起来很愚蠢,但是我试图在Axios中请求失败时获取错误数据。 是否可以获取一个可能包含状态代码和内容的对象,而不是字符串?例如:

  • 使用Alamofire 4/Swift 3,您如何区分由于以下原因而失败的请求: 网络连接(主机关闭,无法连接到主机)vs 代码: 我们希望以不同的方式处理每个案件。在后一种情况下,我们要询问回答。(在前一种情况下,我们不知道,因为没有回应)。

  • 我试图生成一个简单的axios请求,如下所示(我正在使用vue.js): 但我得到以下错误: 我已经尝试过添加下面的头,但仍然不起作用 但是如果我尝试通过浏览器发出请求(简单地通过复制和粘贴url),一切都很好。 有人知道怎么帮我吗?非常感谢!

  • 我试图调用一些API在我的javascript代码中获取。我正在我的机器中使用ReactJs开发,并在同一网络中使用另一台机器中的. net开发API。有了邮递员,我可以调用应用编程接口,但是没有。我尝试调用其他服务器中的另一个API,结果是成功的。 我正在使用fetch并尝试使用axios。我在这个API的堆栈溢出中发现了另一个问题:https://gturnquist-quoters.cfap