在开发中请求跨站点AJAX请求的替代方法

时间:2015-09-22 04:00:30

标签: angularjs cross-domain

AngularJS应用中从http://localhost:8080http://foo.com的AJAX请求失败,因为浏览器不允许跨网站请求和浏览器说:

  

“请求标头字段不允许使用Content-Type   接入控制允许集管“。

但是还有其他方法可以使用 JSONP 解决,或者可能在服务器端编写额外的代码,但我不想在开发阶段这样做。

有没有其他方法可以在服务器端没有任何配置的情况下制作跨站点,并且在开发阶段(非生产)中编写额外的代码?

2 个答案:

答案 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。无需编写任何额外的代码。但我不知道安全性如何影响这个插件。