AngularJS应用中从http://localhost:8080到http://foo.com的AJAX请求失败,因为浏览器不允许跨网站请求和浏览器说:
“请求标头字段不允许使用Content-Type 接入控制允许集管“。
但是还有其他方法可以使用 JSONP 解决,或者可能在服务器端编写额外的代码,但我不想在开发阶段这样做。
有没有其他方法可以在服务器端没有任何配置的情况下制作跨站点,并且在开发阶段(非生产)中编写额外的代码?
答案 0 :(得分:1)
有一个纯javascript替代方法,它使用代理来绕过这个约束。
它被称为XDomain:
https://github.com/jpillora/xdomain
步骤1:将此proxy.html文件放在服务器项目的根目录中:
<!DOCTYPE HTML>
<script src="//cdn.rawgit.com/jpillora/xdomain/0.7.3/dist/xdomain.min.js" master="*"></script>
第2步:将此脚本添加到客户端:
<script src="//cdn.rawgit.com/jpillora/xdomain/0.7.3/dist/xdomain.min.js" slave="http://foo.com/proxy.html"></script>
就是这样! 玩得开心。
答案 1 :(得分:0)
最后,我发现另一种方法就是安装此chrome plugin。无需编写任何额外的代码。但我不知道安全性如何影响这个插件。