由于某种原因,当我以 Angular 点击某个路线时,我使浏览器崩溃,我的 Node 服务器发出大量请求:
GET /bower_components/bootstrap/dist/js/bootstrap.js?_=1402331354670 200 3ms - 53.96kb
GET /js/app.js?_=1402331354671 200 1ms - 1.56kb
GET /js/controllers/main.js?_=1402331354672 200 2ms - 140b
GET /js/controllers/login.js?_=1402331354673 200 3ms - 735b
GET /js/controllers/userList.js?_=1402331354674 200 2ms - 120b
GET /js/controllers/signup.js?_=1402331354675 200 1ms - 465b
GET /js/controllers/profile.js?_=1402331354676 200 1ms - 665b
GET /js/controllers/courseList.js?_=1402331354677 200 1ms - 369b
GET /js/controllers/courseDetails.js?_=1402331354678 200 4ms - 281b
GET /js/filters/titleize.js?_=1402331354685 200 1ms - 381b
GET /bower_components/jquery/dist/jquery.min.js?_=1402331354686 200 2ms - 82.3kb
GET /bower_components/angular/angular.min.js?_=1402331354687 200 1ms - 102kb
GET /bower_components/angular-route/angular-route.min.js?_=1402331354689 200 2ms - 3.86kb
...again and again forever
我点击的路线:
a(ng-href='/courses/{{ course._id }}') {{ course.title }}
在app.js中定义:
$routeProvider.when('/courses/:id', {
templateUrl: 'views/courses/details',
controller: 'CourseDetailsCtrl',
})
Controller :
app.controller('CourseDetailsCtrl', ['$scope', function($scope){
console.log('commented everything out. doesnt display')
}])
类(class)
服务:
app.factory('Course', ['$resource', function($resource){
var courseResource = $resource('/api/courses/:_id', {_id: '@id'}, {
update: {
method: 'PUT',
isArray: false
}
});
return courseResource;
}]);
在服务器端,路由是:
app.get('/api/courses/:id', function(req, res, next){
console.log('this never logs')
})
app.all('/api/*', function(req, res){
res.send(404)
})
app.get('*', function(req, res){
res.render('index', {
currentUser: req.user
})
})
我真的很困惑为什么类(class)部分不渲染并且浏览器崩溃
最佳答案
事实证明我的客户端路由需要是
$routeProvider.when('/courses/:id', {
templateUrl: '/views/courses/details',
controller: 'CourseDetailsCtrl',
})
templateUrl 路径中缺少一个 /
关于javascript - $resource的angularjs无限请求循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24125122/