2016-09-20 26 views
1

我正在Node.js上創建Restful API並將數據存儲到Mongodb中。並致力於用戶註冊API。用戶數據未使用Node API插入到mongodb中

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

//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消費API工作正常POSTMAN但它不適用於我的HTML表單。請查看我的代碼。每當我點擊註冊按鈕時,它似乎是按鈕點擊API沒有擊中。什麼都沒有發生。 請查看我的代碼並提出解決方案。

感謝。

+0

是您'register'功能是哪位?在角度方面 – abdulbarik

+0

是的,它的調用。 –

+0

所以你被困在後端?你點擊「註冊」後得到任何迴應? – abdulbarik

回答

3

從角控制器,你不傳遞newUser對象$resourceregUser控制器代碼更改爲以下

//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"); 
         }); 

    } ; 

}) 
+0

是的....你的權利..現在它的工作很好。但是在'郵遞員'中,它的工作不會將郵件傳遞給'$ resource' –

+0

,你需要在服務器端輸入指定的數據。在郵遞員你餵它來形成數據併發送到服務器。在角度上,您需要指定數據,例如我向您展示的數據,或者您可以使用'ng-submit'。 – raj

+0

明白了......謝天謝地 –

相關問題