可能这是一个愚蠢的问题,但我找不到任何解决方案。
我正在研究跨域问题。所以我通过搜索来了解我需要设置Access-Control-Allow-Origin:
或Origin
标签。但是哪里??建议在标题中使用这些。
我看不到任何解释这个的东西。任何人都可以告诉我在哪里放这个标签以及如何!!
在head
代码中?还是在DOCTYPE
?请帮忙......我需要使用JavaScript还是其他什么?
答案 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/