在哪里写Access-Control-Allow-Origin:或Origin

时间:2014-02-12 06:54:36

标签: javascript html cross-browser cross-domain same-origin-policy

可能这是一个愚蠢的问题,但我找不到任何解决方案。 我正在研究跨域问题。所以我通过搜索来了解我需要设置Access-Control-Allow-Origin:Origin标签。但是哪里??建议在标题中使用这些。

我看不到任何解释这个的东西。任何人都可以告诉我在哪里放这个标签以及如何!!

head代码中?还是在DOCTYPE?请帮忙......我需要使用JavaScript还是其他什么?

2 个答案:

答案 0 :(得分:1)

一种方法是将代码放在服务器端:

response.addHeader("Access-Control-Allow-Origin", "*");// To allow all domains

仅限访问特定域:

response.addHeader("Access-Control-Allow-Origin", "http://www.example.com");

我在java servlet中使用了上面的代码,如果使用不同的语言,可以使用类似的方法。

答案 1 :(得分:0)

这应该作为http标头传递,它与HTTP协议一起使用。您的客户端向服务器发出请求,如下所示:

GET / cors HTTP / 1.1 来源:http://api.bob.com 主持人:api.alice.com 接受语言:en-US 连接:保持活力 用户代理:Mozilla / 5.0 ......

在您的回复中,您的服务器端代码必须手动为Access-Control-Allow-Origin添加http标头。很多时候,人们会做一些简单的事情:

response.addHeader(“Access-Control-Allow-Origin”,“*”);

但是,如果您需要进行任何类型的身份验证,请记住,如果您要发送凭据(通过在请求中使用Access-Control-Allow-Credentials标头,或在jQuery ajax调用中设置withCredentials) ,那么你必须在响应头中具体允许原点:

response.addHeader(“Access-Control-Allow-Origin”,“http://api.bob.com”);

此外,请务必处理飞行前的OPTIONS请求。

如果这没有帮助,该网站几乎涵盖了所有方案:http://www.html5rocks.com/en/tutorials/cors/