10

在 FIREFOX:当我执行我的代码时,我应该得到的典型错误是:“TypeError:无法读取未定义的属性 'setState'”,相反,我收到了一个非常奇怪的跨域错误。

这是错误的屏幕截图:http: //prntscr.com/iwipnb 在此处输入图像描述

错误 引发了跨域错误。React 无法访问开发中的实际错误对象。有关更多信息,请参阅https://reactjs.org/docs/cross-origin-errors.html

这是我的代码:https ://codesandbox.io/s/4885l37xrw

如何避免FIREFOX 中 Codesandbox 中的跨域错误?

EDIT1:我知道什么是代码错误(bind(this))。我正在寻找跨域错误firefox问题。谢谢

4

5 回答 5

2

看起来您需要在服务的 S3 存储桶上启用 CORS:https ://s3-eu-west-1.amazonaws.com/codesandbox-downtime/downtime.json

为此,只需导航到您的存储桶,然后单击权限选项卡,然后在 CORS 框中输入具有所需权限的 XML 文档。允许任何主机发出 GET 请求的示例权限:

<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
    <AllowedOrigin>http://*</AllowedOrigin>
    <AllowedOrigin>https://*</AllowedOrigin>
    <AllowedMethod>GET</AllowedMethod>
</CORSRule>
<CORSRule>
    <AllowedOrigin>*</AllowedOrigin>
    <AllowedMethod>GET</AllowedMethod>
</CORSRule>
</CORSConfiguration>
于 2018-03-26T14:08:36.077 回答
1

我有我的服务器设置来支持 CORS,它仍然给我这个错误。

ReactJS如果在处理来自服务器的响应时出现错误,这似乎是一个问题。就我而言,它是在尝试将无效响应解析为JSON.

于 2020-09-28T05:22:01.707 回答
0

在 API 文件构造函数中添加这个

public function __construct($config = 'rest'){
   header('Access-Control-Allow-Origin: *');
   header('Access-Control-Allow-Methods: GET, POST, PATCH, PUT, DELETE, OPTIONS');
   header('Access-Control-Allow-Headers: Origin, Content-Type, X-Auth-Token');
      parent::__construct();
    }
于 2018-08-22T07:07:07.680 回答
0

您可以使用 corsproxy 从本地计算机访问 localhost API。

  1. 您首先需要安装 corsproxy npm 包。npm install -g corsproxy

  2. 在终端上运行 corsproxy 命令

  3. 它将在http://localhost:1337上运行
  4. 现在您需要做的是在您的 api 调用中附加上面的 url。假设您需要点击 localhost:3000/customer 才能点击 api。

所以新的 url 将是http://localhost:1337/localhost:3000/customer

这将消除 CORS 错误。

在评论中评论您的查询。

于 2018-06-07T03:32:06.440 回答
0

您的问题中提到的跨源错误是 Codesandbox 的 github 存储库中的一个未解决问题(截至 2019 年 12 月)。

Reactjs 网站在Cross-origin Errors下对此进行了解释

不要与跨域资源共享混淆

于 2019-12-19T13:43:19.487 回答