angularjs保存数据库

时间:2016-05-30 22:48:16

标签: javascript angularjs

我需要你的帮助我正在学习angularjs。我学会了如何将1个项目保存到数据库,我想进一步保存超过1个项目,但我无法在互联网上找到关于使用angularjs执行此操作的任何内容。在angularjs中无法做到这一点? 。解释我在想法中添加了关于plunker的代码

http://plnkr.co/edit/sF3mBOcDilhQDQKYqeE7?p=preview

的script.js

var app = angular.module('multi', []);
app.controller('MainCtrl', function ($scope) {
    $scope.students = [{
        'firstname'  : $scope.user_name, 
        'lastname' : $scope.lastname,
        'bday':$scope.bday,
        'bplace':$scope.bplace,
        'sex':$scope.sex
     }];

$scope.addNewStudent = function() {
var newItemNo = $scope.students.length+1;
$scope.students.push({'id':'student'+newItemNo});
};

$scope.removeStudent = function() {
var lastItem = $scope.students.length-1;
$scope.students.splice(lastItem);
};

$scope.save = function() {
    $http.post('db.php?action=addStudent', 
       {
        'firstname'  : $scope.firstname, 
        'lastname' : $scope.lastname,
        'bday':$scope.bday,
        'bplace':$scope.bplace,
        'sex':$scope.sex

    });
};
});

所以在填写学生人数信息后,我想点击保存按钮将所有学生保存到我的数据库中。如果有可能你可以帮我解决这个问题。谢谢

1 个答案:

答案 0 :(得分:0)

您当前的问题是您在保存时使用$scope中的值,因此您无法一次保存多名学生。

您应该使用已有的$scope.students数组。

我修改了你的plunker(只有javascript),这应该适合你的需要。

http://plnkr.co/edit/T8qM1YCKBFmZbknWZ2n2

我没有太大改变,我主要把$http.post放在一个循环中。我通常建议使用一个处理多个对象的服务器路由,但不知道你的服务器,这是我能做的最好的事情,以保持它的简单和功能。

另外两条评论:

  • 您将student.sex发送到服务器,但无法在表单中设置。
  • 您在html表单中使用last,在保存功能中使用lastname,您必须选择并使用您在两个地方选择的那个