2014-01-14 176 views
3

我试图按照此tutorial了解如何创建阅读器,但似乎无法正常工作。具体来说,$http.jsonp(...)调用似乎不起作用。它挂起约20秒,然后简单地返回一个GET错误。AngularJS RSS提要阅读器

这是完整的Angular代码。

var app = angular.module('RSSFeedApp', []); 

app.controller("FeedCtrl", ['$scope','FeedService', function ($scope,Feed) {  
    $scope.loadButonText="Load"; 
    $scope.feedSrc="http://sports.espn.go.com/espn/rss/news"; 

    $scope.loadFeed=function(e){   
     Feed.parseFeed($scope.feedSrc).then(function(res){ 
      $scope.loadButonText=angular.element(e.target).text(); 
      $scope.feeds=res.data.responseData.feed.entries; 
     }); 
    } 
}]); 

app.factory('FeedService', ['$http', function($http){ 
    return { 
     parseFeed : function(url) { 
      return $http.jsonp('//ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=50&callback=JSON_CALLBACK&q='+ encodeURIComponent(url)); 
     } 
    } 
}]) 

是否有不同的/更好的方式来做角度的RSS订阅源,或者我只是错过了明显的东西?

回答

0

想通了。

我的应用程序还没有托管在任何外部服务器上,它现在只是在我的机器上运行,而我通过浏览器访问文件位置。

例如:

file:///C:/Users/... 

jQuery的调用//ajax.googleapis...然后传送到文件位置,而不是Web地址。将//ajax.googleapis...更改为https://ajax.googleapis...解决了此问题。

简单的错误,但容易忽略我想。

-1

我编写了一个模块,并提供了一个将Google Feed API集成到AngularJS应用程序中的示例。您可以查看文章here