当前位置: 首页 > 面试题库 >

有没有更有效的方法来用angularjs序列化表格?

劳英华
2023-03-14
问题内容

有没有一种方法可以序列化angularjs的功能?

我的帖子现在看起来像这样。

$scope.signup_submit = function () {
  var formData = {
    username: $scope.username,
    full_name: $scope.full_name,
    email: $scope.email,
    password: $scope.password,
    confirm_password: $scope.confirm_password
  }

  $http({
    method: "POST",
    url: '/signup',
    data: formData,
  }).success(function (data) {
    if (data.status == 'success') {
      alert('all okay');
    } else {
      alert(data.msg)
    }
  });
}

问题答案:

这不是使用AngularJS访问表单数据的方式。表单中的数据应在范围内绑定。

因此,使用一个对象,例如$ scope.formData,它将包含您的所有数据结构,然后应使用ng-model将每个表单元素绑定到此对象。

例如:

http://jsfiddle.net/rd13/AvGKj/13/

<form ng-controller="MyCtrl" ng-submit="submit()">
    <input type="text" name="name" ng-model="formData.name">
    <input type="text" name="address" ng-model="formData.address">
    <input type="submit" value="Submit Form">
</form>

function MyCtrl($scope) {
    $scope.formData = {};

    $scope.submit = function() {   
        console.log(this.formData);
    };
}

提交上述表单后,$ scope.formData将包含表单的对象,然后可以在您的AJAX请求中传递该对象。例如:

Object {name: "stu", address: "england"}

要回答您的问题,没有更好的方法使用AngularJS“序列化”表单数据。

但是,您可以使用jQuery:$ element.serialize(),但如果要正确使用Angular,请使用上述方法。



 类似资料:
  • 问题内容: 来自Gson项目的此链接似乎表明,将类型化的Map序列化为JSON时,我将必须执行以下操作: 很酷,这行得通,但是似乎有很多开销( 整个Type Adapter类? )。我使用了其他JSONLib之类的JSON库,它们使您可以通过以下方式构建地图: 或者,如果我有一个自定义类,则如下所示: 该过程更加手动,但是所需的代码更少,并且没有开销来为Number创建自定义类型适配器,或者在大多

  • 除了把它们全部输入外,还有没有更好的方法在字符串中列出它们?

  • 假设我有一个用户模式/模型,用户有一个朋友列表。Mongoose希望您将好友列表(外键/ObjectID类型)存储为数组,对吗?这意味着如果我想通过ID找到我的朋友,Mongoose将搜索数组,直到找到具有我想要的ID的朋友的第一个实例。那似乎真的是时间低效,不是吗?有更好的办法吗?

  • 除了把它们全部输入外,还有没有更好的方法在字符串中列出它们?

  • 让我们设置上下文/限制: 链表由节点对象组成 下面是我建议的解决方案的一些代码。 在不改变链表结构(不切换到双链表或存储长度变量)的情况下,有没有更有效的方法来查找单链表的中间元素? 注意:当此方法找到偶数个节点的中间时,它总是找到左中间。这是理想的,因为它允许您访问两者,但是如果一个更有效的方法总是能找到正确的中间,那也没关系。

  • 我的意思是,这不是要知道列表是否排序(布尔值),而是像“排序”的比率,像统计学中的相关系数。 例如, > 如果列表中的项目按升序排列,则其比率为1.0