【发布时间】:2016-09-20 19:11:40
【问题描述】:
我正在 Node.js 上创建一个 Restful API 并将数据存储到 Mongodb。并致力于用户注册 API。
app.js
apiRoutes.post('/signup', function(req, res) {
if (!req.body.name || !req.body.password) {
res.json({success: false, msg: 'Please pass Name and Password.'});
} else {
var newUser = new User({
name:req.body.name,
password:req.body.password
});
console.log(req.body.name);
// save the user
newUser.save(function(err, data) {
if (err) {
return res.json({success: false, msg: 'Username already exists.'});
}else{
console.log(data);
res.json({success: true, msg: 'Successful created new user.'});}
});
}
});
使用 Angular.js 使用 API
//factory for user register
app.factory('RegistrationFactory', function($resource){
return $resource('/api/signup/:id',{id:'@_id'},{update:{method:'PUT'}});
});
//controller for registration
app.controller('registerCtrl', function($scope, RegistrationFactory, $location){
$scope.regUser=new RegistrationFactory();
$scope.register=function(){
console.log($scope.newUser);
$scope.regUser.$save(function(){
console.log("User Registerd");
});
} ;
})
register.html
<div class="post" ng-controller="registerCtrl">
<form method="post">
<div class="form-group">
<label>Name</label>
<input type="text" class="form-control" name="name" ng-model="newUser.name" />
</div>
<div class="form-group">
<label>Password</label>
<input type="text" class="form-control" name="password" ng-model="newUser.password"/>
</div>
<div class="form-group">
<button class="btn btn-success" ng-click="register()">Register</button>
</div>
</form>
</div>
所以,我的问题是,这个 API 在 POSTMAN 上运行良好,但在我的 HTML 表单上却无法运行。请查看我的代码。每当我单击“注册”按钮时,按钮单击 API 似乎都没有命中。什么都没有发生。
请检查我的代码并建议我解决方案。
谢谢。
【问题讨论】:
-
您的
register函数正在调用吗?在角边 -
是的,它的召唤。
-
所以你被卡在后端了?点击
register后你有任何回应吗? -
No.. 后端没有响应。但是当我在
POSTMAN中点击我的 api 时,它工作得很好。 -
提供
User类定义的例子
标签: javascript angularjs node.js mongodb