使用javascript设置响应头

时间:2013-08-01 09:19:31

标签: 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>

2 个答案:

答案 0 :(得分:5)

  

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

     

如何使用纯JavaScript进行此操作?没有jquery或任何其他库。

除非你的服务器正在运行JavaScript(NodeJS等),否则你不能这样做。

服务器必须允许从文档的来源访问资源。它的工作方式是:

  • 浏览器要求访问资源的权限(这称为“预检”请求),告诉服务器要访问的资源等等。

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

  • 浏览器发送实际请求。

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

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

the Cross-Origin Resource Sharing specification中的详细信息。

答案 1 :(得分:2)

您无法在客户端执行此操作,您的服务器必须发送这些标头。