javascript - 在js中提交表单时从响应正文中删除前缀

标签 javascript angularjs express

我使用 Angular 创建了一个表单,其中在提交后响应正文带有以下格式的数据类型前缀:

{
 field1: 'String: input1',
 field2: 'String: input2',
 field3: 'Number: input3'
}

有没有更简单的方法来获取以下格式

{
 field1: 'input1',
 field2: 'input2',
 field3: 'input3'
}

目前我将对此进行递归以删除常规前缀,例如数字和字符串

请注意此处使用的表单类型是 Select-Options

最佳答案

第一。我建议您不要将模型命名为“ngMake”,这是一个不好的做法。 “ng”是 angularjs 的保留前缀。我们称之为“makeObj”。当您迭代“make”数组时,它将绑定(bind)到模型。

第二,您对 ng-options 的使用是错误的。在您的情况下,应该这样使用:选择数组中值的标签数组中值的标签
哪里
- 选择应该是“makeObj.id”(您要发送的对象属性)
- 标签应该是您希望作为选项显示的数据,“makeObj.name”
- 值应该是“makeObj”
- 数组是“make”

所以基本上:

<select 
  id="makeObj" 
  ng-model="makeObj" 
  ng-change="getModelData(makeObj)" 
  ng-options="makeObj.id as makeObj.name for makeObj in make">
</select>

如果您不想获取属性而是整个 JSON 对象:

<select 
  id="makeObj" 
  ng-model="makeObj" 
  ng-change="getModelData(makeObj)" 
  ng-options="makeObjVal for makeObj in make">
</select>

这应该可以解决您的问题,不需要函数来获取子字符串。
您可以了解有关 ngOptions 的更多信息 here

关于javascript - 在js中提交表单时从响应正文中删除前缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32290972/

相关文章:

javascript - 在 Object 和 Object.prototype 上分配属性有什么不同?

javascript - Google Sheets 脚本编辑器触发器不起作用

javascript - 获取范围之外的数据

javascript - 使用 AngularJS 在 iframe 中注入(inject)链接

html - 在不同表、Mysql、Node.js 中插入多个信息

node.js - 如何在 express 的子目录上挂载 Ghost

javascript - 如何通过 phantomjs 设置 Vue 输入?

javascript - 如何将其转换为影响所有值的全局 JavaScript 函数

html - 如何在 angularjs 中保持可折叠 div 的第一部分打开

node.js - nodejs框架最好的框架是什么以及区别