我使用 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/