通过ui-router将params传递到服务器

时间:2016-06-25 23:47:20

标签: javascript angularjs angular-ui-router

基于他的ID,我遇到了一些麻烦。我可以在我的应用程序中使用DELETE删除此特定用户,但我无法使用" GET"来获取有关他的信息。

这是我的角度app.js

app.controller('editUser', function($scope, $http, $state) {
    $http.get('users/editUser/'+$state.params.userId).success(function(data) {
        console.log(data);
    });
});

这是我的users.js路由文件

router.get('/editUser/:userId', ensureAuthenticated, function(res, req, next) {
    var userId= req.params.userId,
        data;

    getUser.findOne({'_id': userId}, function(err, user) {
         if(err) throw err;
         data = user;
         res.json(data);
     });
});

点击"编辑"按钮我被重定向到users / editUser / ffw23rfaw - 它的id,并且基于这个id,我使用get函数来获取关于他的信息,但我得到500"内部服务器错误"。我想补充一点,删除用户几乎是相同的,它的工作原理。

单击“编辑”按钮后

执行此操作

$scope.editUser = function($index) {
        $state.go('editUser', {userId: $index});
    }

我是如何获得userId的用户/ editUser /'页

这是我的状态配置

    .state('editUser', {
        url: '/users/editUser/:userId',
        templateUrl: '/views/editUser.html'
    })

1 个答案:

答案 0 :(得分:0)

发现问题:) 您的代码有function(res, req, next) 将其更改为

function(req, res, next)

错误放置参数(变量名称)。 希望这可以帮助。 (感谢指出控制台消息)