用户数据没有使用Node API插入到MongoDB中
我正在Node.js上创build一个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表单上工作。 请查看我的代码。 每当我点击注册button,似乎在button点击API没有打。 什么都没有发生。 请检查我的代码,并build议我的解决scheme。
谢谢。
从angular度控制器你没有通过新的newUser
对象$resource
或regUser
将控制器代码更改为下面
//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"); }); } ; })