在我的代码中,用户详细信息未解决的错误是什么?

时间:2015-06-24 06:43:20

标签: angularjs express angular-ui-router

你好,我是express和angular的新手,我试图为用户制作CRUD功能。 这是我在UserAjax.js文件中定义了get请求

var router = require('express').Router()
    , mongoose = require('mongoose')
    , _ = require('underscore')
    , Q = require('q');

module.exports = function() {
var User = mongoose.model('users');

return router


    .param('/:users', function(req, res, next) {
        var userId = req.params.user;

        Q
            .nbind(User.findById, User)(userId)

            .then(function(doc) {
                res.json(doc);
            })

            .catch(function(err){
                next(err);
            })
    })

    .get('/', function(req, res, next) {
        var Query = User.find();
        var qry = req.query;

        Q
            .nbind(Query.exec, Query)()

            .then(function(docs){
                res.json(docs);
            })

            .catch(function(err){
                next(err);
            });

    })

    .get('/:users', function(req, res, next) {
        var userId = req.params.user;
        var Query = user.findById(userId);

        Q
            .nbind(Query.exec, Query)()

            .then(function(doc) {
                res.json(doc);
            })

            .then(null, function(err) {
                next(err);
            })
    })

    .post('/', function(req, res, next){
        var data = req.body;
        data.createdBy = req.user._id;

        Q
            .nbind(User.create, User)(data)

            .then(function(doc){
                res.json(doc);
            })

            .catch(function(err){
                next(err);
            });
    })

    .put('/:users', function(req, res, next){
        var userId = req.params.user;
        var data = req.body;

        data.lastUpdatedBy = req.user._id;

        Q
            .nbind(User.findById, User)(userId)

            .then(function(doc){
                return Q.nbind(doc.modify, doc)(data);
            })

            .spread(function(doc, numAffected){
                res.json(doc);
            })

            .catch(function(err){
                next(err);
            });
    })


    .delete('/:users', function(req, res, next){
        var userId = req.params.user;

        Q
            .nbind(User.findByIdAndUpdate, User)(userId, {
                $set : {lastUpdatedBy : req.user._id, lastUpdatedOn : Date.now()}
            })

            .then(function(doc){
                return Q.nbind(doc.remove, doc)();
            })

            .then(function(doc){
                res.json(doc);
            })

            .catch(function(err){
                next(err);
            });
    })
    ;
}

这是我的用户状态提供商文件,我已经解析了用户的详细信息。

'use strict';

(function() {


angular
    .module('nrmcApp.user', [])


    .config([
        "$stateProvider"
        , function($stateProvider) {
            $stateProvider
                .state('user', {
                    abstract : true
                    , url : "/users"
                    , templateUrl : '/partials/users/index'
                    , controller : [
                        "$scope"
                        , "$state"
                        , function($scope, $state) {
                            $scope.title = "Users";

                            $scope.setSelected = function(item) {
                                $scope.selected = item;
                            }
                        }
                    ]
                })

                .state('user.list', {
                    url : ''
                    , templateUrl : '/partials/users/list'
                    , controller : [
                        "$scope"
                        , "$state"
                        , "users"
                        , function($scope, $state, users) {
                            $scope.title = "Users";

                            $scope.users = users || [];

                            $scope.setSelected = function(item) {
                                $scope.selected = item;
                            }

                            $scope.changeState = function() {
                                $state.go('user.new');
                            }

                            $scope.changeState = function() {
                                $state.go('user.edit');
                            }

                            $scope.changeState = function() {
                                $state.go('user.detail');
                            }


                        }
                    ]
                    , resolve : {
                        "users" : ["User", function(User) {
                            return User.query().$promise
                        }]
                    }
                })

                .state('user.new', {
                    url : ''
                    , templateUrl : '/partials/users/new'
                    , controller : [
                        "$scope"
                        , function($scope) {
                            $scope.title = "Enter User Details";
                        }
                    ]
                })

                .state('user.edit', {
                    url :'/edit/:userId'
                    , templateUrl : '/partials/users/edit'
                    , controller : [
                        "$scope"
                        , "users"
                        , function($scope, users) {
                            $scope.title = "Edit Users Detail"

                            $scope.users = users;
                        }
                    ]

                    , resolve :  {
                        "users" : ["User", function(User, $stateParams) {
                            return User.get({ id : $stateParams.user }).$promise;
                        }]
                    }
                })

问题是,当我点击链接编辑时,它显示404未找到。 正如我提到的那样,get请求没有得到它。 我完全陷入困境,任何人都可以帮助我。 提前谢谢。

0 个答案:

没有答案