你好,我是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请求没有得到它。 我完全陷入困境,任何人都可以帮助我。 提前谢谢。