gpt4 book ai didi

javascript - Angular $http 和 Google Feed API

转载 作者:行者123 更新时间:2023-11-28 00:05:41 25 4
gpt4 key购买 nike

我是一名初学者,“任务”是提取 RSS 提要以在 Angular/Ionic 项目中使用。我可以自己解析 RSS feed,也可以使用 Google Feed API 等外部工具。

我创建了一个服务来获取数据,然后由 Angular Controller 使用。

这是服务:

    .factory('rssReader', ['$http', function($http) {
return $http.get('URL_HERE')
.success(function(data) {
alert("SUCCESS!!!" + data);//return data;
})
.error(function(data) {
alert("FAILED!!!!" + data);//return data;
});
}]);

使用此 CodeCademy URL 会发出“SUCCESS”警报并返回 JSON 数据:
http://s3.amazonaws.com/codecademy-content/courses/ltp4/events-api/events.json

但是,此 Google Feed API URL 返回 null。示例网址:
http://ajax.googleapis.com/ajax/services/feed/load?v=2.0&q=http://rss.cnn.com/rss/cnn_topstories.rss&num=5

我在网上看到过一些不同的例子,但我试图理解为什么这不起作用。

  1. 出了什么问题?
  2. 我可以使用哪些技巧/工具进行调试?

我是 Angular 和 JavaScript 的新手,非常感谢任何帮助。谢谢!

最佳答案

您的实现是正确的,(尽管看起来您正在调用 .success 函数,无论是在您的服务中还是在 Controller 中) - 但我认为真正的问题实际上在于您尝试调用的资源。

当我调用 s3.amazonaws feed 时,我得到了您所描述的数据,但是当调用 GoogleAPI 时,XMLHttpRequest 由于 CORS 而被阻止。您可以在这里阅读更多相关信息 CORS (Cross-Origin Resource Sharing) header.

避免这种情况的一种方法是从服务器端处理对 Google API 的请求,而不是直接在浏览器中处理。

希望这有帮助:)

关于javascript - Angular $http 和 Google Feed API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31362501/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com