如何解决Access Control Allow Origin错误

How to resolve Access-Control-Allow-Origin error?

本文关键字:Control Allow Origin 错误 Access 何解决 解决      更新时间:2023-09-26

我知道已经发布了很多与此问题相关的查询。但我仍然无法解决这个错误。

我明白了,

XMLHttpRequest无法加载http://localhost:100/test/test1.php.请求的资源上不存在"Access Control Allow Origin"标头。原点'http://localhost:8080因此不允许访问。

为了解决这个问题,我尝试了以下-

  1. 我在启动chrome.exe时使用了--allow-file-access-from-files --disable-web-security。(不工作)
  2. 我把header('Access-Control-Allow-Origin:*');放在php中的<?php标签之后。(有时有效,但并非总是如此)
  3. 在ajax中,我已经包含了$.ajax({crossDomain:true})。(不起作用)

添加这三行:

header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, POST');
header("Access-Control-Allow-Headers: X-Requested-With");

有一本手册:

http://enable-cors.org/

这提供了各种选项,具体取决于您的服务器设置(并很好地解释了主题)。

请注意,前面的答案对于PHP来说是完全正确的。。。header('Access-Control-Allow-Origin:*');如果您遇到问题,请记住,在向缓冲区发送任何正文输出之前,您需要发送该标头

实现这一点的简单解决方案是,您需要将标头添加到服务器端

header('Access-Control-Allow-Origin:*')

在我的一个golang API服务器中,我添加了下面的头代码,以允许CORS

Response.Header().Set("Access-Control-Allow-Origin", "*")