2014-05-02 74 views
1

我只想發佈一些更改到數據庫。這是我的角度 - 問題是,它不會從我的html輸入中獲取值。Angular post to nodejs

見代碼段2:

mainController = function ($scope, $http) { 
    $scope.post = {}; 
    console.log($scope); 
    console.log($scope.post); 
    $http.get('/api/todos') 
     .success(function(data) { 
      $scope.posts = data.posts; 
      $scope.datas = data; 
      // console.log(data); 
     }) 
     .error(function(data) { 
      console.log('Error: ' + data); 
     }); 

    $scope.editTodo = function() { 
     console.log($scope.post); 
     $http.post('/post/edit', $scope.post) 
      .success(function(data) { 
       $scope.post = {}; 
       console.log($scope.post); 
       $scope.posts = data.posts; 
       $scope.datas = data; 
      }) 
      .error(function(data) { 
       console.log('Error: ' + data); 
      }); 
    }; 
} 

第2部分:

<div class="comment" ng-repeat="post in posts | filter:search:strict | orderBy:predicate:reverse"> 
     <div class="comment-content"> 
      <form> 
      <input type="text" class="" ng-model="post.id" /> 
      <input type="text" class="h2" ng-model="post.title" /> 
      <textarea ng-model="post.content" ></textarea> 
      <span class="submitcontent" ng-click="editTodo()"> 
       Submit 
      </span> 
      </form> 
     </div> 
     </div> 

我不知道爲什麼我的$scope.post obj是百達等於:Object {}和我的日誌從節點服務器顯示:

{ id: undefined, postTitle: undefined, postContent: undefined } 
POST /post/edit 200 8ms - 2.92kb 

回答

3

在你ng-repeat指令post是目前的職位不是$scope.post。只是通過你處理你的編輯功能後:

<span class="submitcontent" ng-click="editTodo(post)">Submit</span> 

的JavaScript:

$scope.editTodo = function(p) { 
    console.log(p); // will have your id, title and content. 
}; 
+0

偉大的東西感謝這已經採取了我小時找出 –