我在从我的应用程序中的 URL 收集 json 值时遇到了问题。当我尝试获取它们时,控制台中显示错误日志,指出 access-control-allow-origin 不允许来源。
我研究了一下,发现响应 header 必须设置为 Access-Control-Allow-Origin: *
我如何使用纯 JavaScript 来做到这一点?没有 jquery 或任何其他库。
这是我当前的代码:
<script type="text/javascript">
var xmlHttp = null;
xmlHttp = new XMLHttpRequest();
xmlHttp.open( "GET", "http://example.com/id=69", false );
xmlHttp.send( null );
console.log("JSON values from URL: ");
console.log(xmlHttp.responseText);
</script>
最佳答案
I researched a bit and found out that response headers have to be set to Access-Control-Allow-Origin: *
How can I do that using pure javascript? No jquery or any other library.
你不能,除非你的服务器正在运行 JavaScript(NodeJS 等)。
服务器 必须允许从文档的来源访问资源。它的工作方式是:
浏览器请求访问资源的许可(这称为“预检”请求),告诉服务器它想要访问什么资源等。
服务器用适当的 header 回复浏览器是否允许访问。
浏览器发送实际请求。
服务器响应它(再次包括相关的 header )。
我相信在某些情况下不需要进行飞行前检查。所有这些都由 XMLHttpRequest
对象为您处理。
关于javascript - 使用javascript设置响应头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17989951/