javascript - Angular 发布到 nodejs

标签 javascript mysql node.js angularjs

我只想发布对数据库的一些更改。这是我的 Angular - 问题是,它不从我的 html 输入中获取值。

请参阅代码的第 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 {} 而我来自 Node 服务器的日志显示:

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

最佳答案

在您的 ng-repeat 指令中,post 是当前帖子 NOT $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.
};

关于javascript - Angular 发布到 nodejs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23423469/

相关文章:

javascript - 连续触发多个 jQuery 事件监听器

javascript - 函数调用错误

mysql - 如果存在则获取下一个问题,如果不存在则返回到开头 - mysql

javascript - 在 node js/javascript 中使用 OR 条件时,传入的参数必须是 Buffer 或 12 个字节的字符串或 24 个十六进制字符的字符串

javascript - 我应该在 if 条件中写什么来检查 MySQL 查询中是否有记录?

javascript - 如何从 Node.js 应用程序连接 AWS elasticache redis?

javascript - JavaScript .prototype 如何工作?

javascript - 了解范围

mysql - 带有 MySQL-8 数据库的 Liferay-7 不工作

mysql - 子查询使用 JOINS 返回多于 1 行的问题