AngularJS RSS提要阅读器

时间:2014-01-14 16:59:21

标签: javascript angularjs rss

我正在尝试按照tutorial来了解如何创建一个阅读器,但它似乎并没有起作用。具体来说,$http.jsonp(...)调用似乎不起作用。它挂起大约20秒然后只返回一个GET错误。

这是完整的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源,或者我只是遗漏了一些明显的东西?

2 个答案:

答案 0 :(得分:0)

想出来。

我的应用程序尚未在任何外部服务器上托管,而是当前正在运行我的机器并且我通过浏览器访问文件位置。

例如:

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

//ajax.googleapis...的jQuery调用然后路由到文件位置,而不是网址。将//ajax.googleapis...更改为https://ajax.googleapis...会修复此问题。

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

答案 1 :(得分:-1)

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