从angularjs路由返回rss提要

从angularjs路由返回rss提要,angularjs,Angularjs,我正在尝试使用angularjs为一个生成rss提要的应用程序创建一个前端。因此,我想配置一个将呈现rss的路由 所以基本的想法是,当用户进入http://myserver/#/myTopic/rss服务器应返回以下api调用的结果http://myserver/api/1/myTopic/rss 所以我创建了我的路线如下 app.config(['$routeProvider', function($routeProvider) { $routeProvider. // rende

我正在尝试使用angularjs为一个生成rss提要的应用程序创建一个前端。因此,我想配置一个将呈现rss的路由

所以基本的想法是,当用户进入
http://myserver/#/myTopic/rss
服务器应返回以下api调用的结果
http://myserver/api/1/myTopic/rss

所以我创建了我的路线如下

app.config(['$routeProvider', function($routeProvider) {
  $routeProvider.
    // render rss feed
    when('/:topic/rss', {
      controller: 'rssCtrl'
    });
}]);
rssCtrl
的定义如下

var rssCtrl = function($scope, $location, $routeParams) {
  // what to put in it??
};
app.controller('rssCtrl', rssCtrl);
从概念上讲,我被困在控制器中的内容上,因为我不希望呈现index.html(我的单页应用程序),而是rss提要

有什么想法吗?想法


关于

我认为这是不可能的。Angular是一个客户端框架,也就是说,它通过将JavaScript发送到浏览器来生成HTML。您不能假设RSS提要阅读器会解释JavaScript,事实上大多数人不会,因为这被认为是一种安全风险。因此,您需要在服务器端生成RSS提要

$location服务只允许您更改URL;它不允许您重新加载页面。当您需要更改URL并重新加载页面或导航到其他页面时,请使用较低级别的API,$window.location.href。--


feed是在服务器端生成的(请参阅),因此在这种情况下,我需要的只是从到的重定向。您好,感谢您的回答,这似乎是我正在寻找的,但我无法让它工作。这是当('/:topic/rss',{controller:'rssCtrl'})和控制器只执行以下行
函数($window){$window.location.href=$window.location.href.replace('#','api/1')}
时的路由
,而我仍然在index.html页面上,在调试时似乎没有执行此控制器。奇怪@xavier,我认为when()方法的route对象/参数必须指定模板或templateUrl。试试看是否有帮助。