使用javascript设置响应头

Mar*_*vić 5 javascript response-headers

我在应用程序中从URL收集json值时遇到了麻烦.当我尝试获取它们时,控制台中会显示错误日志,说access-control-allow-origin不允许来源.

我研究了一下,发现响应头必须设置为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>
Run Code Online (Sandbox Code Playgroud)

T.J*_*der 6

我研究了一下,发现响应头必须设置为Access-Control-Allow-Origin:*

我怎么能用纯javascript做到这一点?没有jquery或任何其他库.

你不能,除非你的服务器运行JavaScript(NodeJS等).

服务器必须允许从文档的来源获取资源.它的工作方式是:

  • 浏览器请求访问资源的权限(这称为"预检"请求),告诉服务器它想要访问哪些资源,等等.

  • 服务器回复相应的标题,告诉浏览器是否允许访问.

  • 浏览器发送实际请求.

  • 服务器响应它(再次包括相关的标题).

我相信有些情况下不需要飞行前.所有这些都是由XMLHttpRequest对象处理的.

跨源资源共享规范详细信息.