Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Angular$http和Google提要API_Javascript_Json_Angularjs_Rss Reader_Google Feed Api - Fatal编程技术网

Javascript Angular$http和Google提要API

Javascript Angular$http和Google提要API,javascript,json,angularjs,rss-reader,google-feed-api,Javascript,Json,Angularjs,Rss Reader,Google Feed Api,我是一个初学者,“任务”是拉入一个RSS提要,用于Angular/Ionic项目。我可以自己解析RSS提要,也可以使用外部工具,比如GoogleFeedAPI 我创建了一个服务来获取数据,然后由角度控制器使用 这是服务: .factory('rssReader', ['$http', function($http) { return $http.get('URL_HERE') .success(function(data) { alert("SUCCESS!!!" + d

我是一个初学者,“任务”是拉入一个RSS提要,用于Angular/Ionic项目。我可以自己解析RSS提要,也可以使用外部工具,比如GoogleFeedAPI

我创建了一个服务来获取数据,然后由角度控制器使用

这是服务:

    .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会发出“成功”警报并返回JSON数据:

但是,此Google提要API URL返回null。示例URL:

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

  • 怎么了
  • 我可以使用哪些技巧/工具进行调试

  • 我不熟悉Angular和JavaScript,因此非常感谢您的帮助。谢谢

    您的实现是正确的(尽管看起来您在服务和控制器中都在调用.success函数),但我认为真正的问题实际上在于您试图调用的资源

    当我调用s3.amazonaws提要时,我得到了您描述的数据,但是当调用GoogleAPI时,由于CORS,XMLHttpRequest被阻塞。你可以在这里多读一点

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


    希望这有帮助:)

    你能发布你的控制器吗?控制器在下面,rssReaderTest是一个从URL提取的测试服务,正在工作:
    .controller('NewsCtrl',['$scope','rssReaderTest','rssReader',function($scope,rssReaderTest,rssReader){rssReaderTest.success(function(data){$scope.rssFeedTest=data;});rssReader.success(函数(数据){$scope.rssFeed=data;});}])
    .controller('NewsCtrl',['$scope','rssReaderTest','rssReader',函数($scope,rssReaderTest,rssReader){rssReaderTest.success(函数(数据){$scope.rssFeedTest=data;});rssReader.success(函数(数据){$scope.rssFeed=data;})
    很抱歉出现了不和谐的声音,我不知道为什么没有保留空白。