【问题标题】:Post full form data to a service in Angular将完整的表单数据发布到 Angular 中的服务
【发布时间】:2014-11-26 17:30:14
【问题描述】:

我有一个包含很多字段的表单,我想使用 post 方法将所有表单字段发布到服务。但我想发送整个表单对象,而不是一个一个地写一个属性。如果我尝试发布包含我所有字段 $scope.formData 的对象,它还包含内部的所有角度内容,例如错误。我需要的是字段名称和值的集合。如何以最少的编码实现这一目标?

编辑: 我最终编写了自己的函数:

function getAngularFormFields(form) {
var dictionary = { form: {} };
for (var key in form) {
    if (form.hasOwnProperty(key) && !key.indexOf('$') == 0) {
        dictionary.form[key] = form[key].$modelValue;
    }
}

return dictionary;

}

【问题讨论】:

  • 好吧,你试过什么?一种简单的方法是获取表单对象(制作副本)并删除“内部类似错误的内容”。我不认为你有办法做到这一点而不以某种方式循环。但是为什么不直接使用浏览器提供的默认 POST 呢?
  • 我正在寻找能够做到这一点的内置功能。如果不需要,我不想编写循环方法。但是如果没有我会写的。

标签: angularjs forms submit


【解决方案1】:

通常,如果您需要发布表单,您可以使用浏览器提供的默认方法。这将通过 POST 将表单数据发送到您的 URL。

<form action="yourUrlHere" method="POST">
    First name: <input type="text" name="fname">
    Last name: <input type="text" name="lname">
    <input type="submit" value="Submit">
</form>

【讨论】:

  • 我必须使用 ng-form,因为表单元素是在我的控制之外声明的,并且包含许多我不需要的其他元素。这可以通过ng-form完成吗?
猜你喜欢
  • 2012-10-04
  • 2020-06-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多