javascript - $resource的angularjs无限请求循环

标签 javascript node.js angularjs ngresource ngroute

由于某种原因,当我以 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/

相关文章:

javascript - Javascript 是否支持集合?

javascript - 如何将关联数组键作为字符串返回?

javascript - 使用 react 添加新元素后,建议列表无法正确更新

javascript - Angular 中一个指令有两个名字

javascript - AngularJS 模拟自动执行 Controller

javascript - 当我上传新的 zip 文件时,Phonegap build 拒绝更新我的应用程序

javascript - Node.js 查看源代码破坏了文件系统模块

javascript - 以 REPL 方式直接从 Visual Studio 执行 javascript (node.js) 代码

javascript - 找不到入口模块和 webpack 中的错误

javascript - 多个网页上的 Angular 应用程序/小部件