我想访问放在另一台服务器上的资源。我想通过javascript访问它,我尝试按照教程here实现CORS。但是没有得到如何使用Access-Control-Allow-Origin标头配置其他服务器,所以仍然没有浏览器允许访问。然后我尝试为chrome安装CORS扩展,它有效,但chrome扩展的问题是,如果我从同一服务器访问任何资源,网页被挂起,我会收到此错误:'Access-Control-Allow- Origin'标头包含多个值,但只允许一个。原因 _ 因此不允许访问。
如果是chrome扩展,跨域资源访问可以正常工作,但是来自同一个域的操作失败。 我想通过代码实现CORS,而不是扩展。
答案 0 :(得分:1)
有两种方法可以做到:
将chrome扩展名CORS添加到chrome,然后如果您尝试创建跨域XMLHTTPRequest,浏览器不会抱怨,它会加载跨域资源。
如果你不想扩展,其他方法是配置跨域服务器。下面是wamp服务器的进程
LoadModule headers_module modules / mod_headers.so
在"目录"下添加以下行。标签
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
</IfModule>
如果要允许来自所有服务器的跨域,请使用*其他显式提供服务器名称。 现在保存httpd.conf文件并重新启动wamp服务器。
答案 1 :(得分:0)
除了@Bhupendra提到的两个操作之外,您还可以运行代理。代理服务器位于浏览器和实际服务器之间,并动态添加标头。对于开发来说,这是一个非常好的解决方案。
我使用过的两个节点项目:
两者都需要node.js和npm。