Javascript 用户数据未使用节点API插入mongodb
我正在Node.js上创建一个Restful API,并将数据存储到Mongodb中。以及开发用户注册API app.jsJavascript 用户数据未使用节点API插入mongodb,javascript,angularjs,node.js,mongodb,Javascript,Angularjs,Node.js,Mongodb,我正在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 {
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并没有点击一样。什么都没有发生。
请查看我的代码并向我建议解决方案
谢谢。从angular controller,您没有将
新用户
对象传递到$resource
或调节器
将控制器代码更改为以下
//controller for registration
app.controller('registerCtrl', function($scope, RegistrationFactory, $location){
$scope.register=function(){
console.log($scope.newUser);
$scope.regUser=new RegistrationFactory($scope.newUser);
$scope.regUser.$save(function(){
console.log("User Registerd");
});
} ;
})
您的
寄存器
函数正在调用吗?在角度侧是的,它在呼叫。所以您被卡在后端?您在单击注册后是否收到任何响应?否。。后端没有响应。但是当我在POSTMAN
中点击我的api时,它工作得很好。。。。你的权利。。现在它可以正常工作了。但是在postman
中,它的工作方式没有将对象传递给postman中的$resource
,您需要输入指定服务器端需要的数据。在postman中,您将其馈送到表单数据并发送到服务器。在angular中,您需要指定数据,如我向您展示的方式,或者您可以使用ng submit
。