我正在尝试将POST发送到给定的服务器。我正在使用XMLHttpRequest而且我一直在使用 XMLHttpRequest无法加载http://example.org。 No' Access-Control-Allow-Origin'标头出现在请求的资源上。起源' http://fiddle.jshell.net'因此不允许访问。我理解CORS的概念,我已经添加了
http_connection.withCredentials = true;
http_connection.setRequestHeader('Access-Control-Allow-Headers', '*');
http_connection.setRequestHeader('Access-Control-Allow-Origin', '*');
虽然它们可能并非都是必要的。我仍然得到错误。我可以尝试使用XMLHttpRequests吗?更多关于如何查看给定服务器是否只是简单地无法发布到?
答案 0 :(得分:1)
不,你没有得到它。这些标题必须由服务器发送,而不是由您发送。服务器必须允许您通过AJAX访问。
如果客户端代码可以启用CORS,那就没有任何意义。
答案 1 :(得分:0)
修复方法是将标头添加到服务器发送的响应中,但是应该小心。
在大多数情况下,当您在本地开发但API在另一台计算机上时会发生这种情况。在Chrome中有一种非常难看的方式。
在Mac上,您需要执行以下操作:
open -a Google\ Chrome --args --disable-web-security
在终端。我相信其他操作系统也有非常类似的解决方法。
但是,当然,这不是一个很好的方法。我会调整开发服务器,向我发送允许从开发域访问的标头。
答案 2 :(得分:0)
--disable-web-security
可以运行,但会使浏览器的安全性受到威胁,您可能会从互联网上获取任何病毒或恶意软件。