获取XML Feed上的角度HTTP的错误响应

时间:2015-11-10 14:43:49

标签: android angularjs xml ionic

我正试图从雅虎财经获得头条新闻,以下代码似乎无效。它直接进入错误处理程序。我尝试了一些其他的URL,但它们似乎也没有用。我在android模拟器中用离子测试了这段代码。我做错了什么?

$http.get("http://feeds.finance.yahoo.com/rss/2.0/headline?s=GOOG&region=US&lang=en-US")
    .success(function(data) {
        $log.log(data);
    })
    .error(function(data) {
        $log.log("ERROR: " + data);
});      

更新: 通读Mitch的链接,你很可能会像我一样找到解决方案。对我来说,开始使用铬时我必须使用--disable-web-security。显然allow origin plugin对于这些类型的http请求是不够的。

此外,如果您在模拟器中遇到问题,请不要使用实时重新加载。这似乎导致了http请求的问题。

1 个答案:

答案 0 :(得分:0)

如果查看开发者控制台,您会看到以下消息:No 'Access-Control-Allow-Origin' header is present on the requested resource.

这意味着收到的响应允许来自localhost的请求,因此您的浏览器会阻止它。出于安全原因,Javascript受“同源策略”的限制,因此恶意脚本无法联系远程服务器并发送敏感数据。有关此类问题的更多详细信息,请访问:https://stackoverflow.com/a/9311585/2298988

这只是因为您在浏览器中测试应用程序而发生的。 如果您构建自己的Ionic应用并在设备上进行测试,它应该可以正常运行

要在浏览器中测试您的应用,您必须禁用网络安全。你应该做什么仅用于开发目的,从不在冲浪时。

以下是解释如何在Chrome中停用网络安全的帖子: Disable same origin policy in Chrome

似乎有一个插件用于Firefox,但我没有尝试过: Disable firefox same origin policy