如何在angularjs 1.0.8中加载带有$ http的跨域JSON,就像在1.2.0中一样

时间:2013-09-19 22:24:33

标签: javascript json angularjs http-headers cross-domain

使用Angular 1.0.8我试图从不支持获取OPTIONS的服务器加载JSON,因此出错。

Demo for 1.0.8

OPTIONS http://www.json-generator.com/j/cdnueRTRmG 405 (Method Not Allowed)
OPTIONS http://www.json-generator.com/j/cdnueRTRmG Origin http://run.plnkr.co is not allowed by Access-Control-Allow-Origin.
XMLHttpRequest cannot load http://www.json-generator.com/j/cdnueRTRmG. Origin http://run.plnkr.co is not allowed by Access-Control-Allow-Origin. 

我尝试将角度更新为1.2.0-RC,错误消失了。

Demo for 1.2.0

这是完全相同的代码,一个加载新版本角度的fork,实际上代码几乎与$http angularjs docs中的代码相同。

如何使用v1.0.8修复此问题?

我已经阅读了一些关于removing the headers from the request的提示,但无法通过上面的示例代码完成此工作。

1 个答案:

答案 0 :(得分:1)

试试这个:

delete $http.defaults.headers.common['X-Requested-With'];

我在调用$ http之前添加了该行,它在你的1.0.8 plunker中工作。