Javascript 在js中从表单提交的响应正文中删除前缀

Javascript 在js中从表单提交的响应正文中删除前缀,javascript,angularjs,express,Javascript,Angularjs,Express,我已经使用Angular创建了一个表单,其中在提交后,响应主体带有以下格式的数据类型前缀: { field1: 'String: input1', field2: 'String: input2', field3: 'Number: input3' } 有没有一种更简单的方法可以得到以下格式 { field1: 'input1', field2: 'input2', field3: 'input3' } 目前,我正在进行递归,以删除一般前缀,如数字和字符串 请注意,此处使用的表单

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

{
 field1: 'String: input1',
 field2: 'String: input2',
 field3: 'Number: input3'
}
有没有一种更简单的方法可以得到以下格式

{
 field1: 'input1',
 field2: 'input2',
 field3: 'input3'
}
目前,我正在进行递归,以删除一般前缀,如数字和字符串


请注意,此处使用的表单类型是选择选项。我建议您不要将您的型号命名为“ngMake”,这是一种不好的做法。“ng”是angularjs的保留前缀。让我们称之为“makeObj”。当您迭代“make”数组时,它将绑定到模型

第二,您使用ng选项是错误的。在您的情况下,应该这样使用:
选择数组中的值作为标签
数组中的值作为标签

其中
-选择应该是“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的信息

hi,您可以使用正则for in-loop
for(prop in-obj){obj[prop]=obj[prop].substr(obj[prop].indexOf(“”+1);}
轻松地删除obj,如果obj是您返回的对象,那么在表单提交期间有更简单的方法删除它。例如,当我使用输入字段提交表单时,没有数据类型前缀包含,而当我使用选择选项提交表单时,有数据类型前缀包含。我不确定我是否真的清楚这里的问题。您是建议Angular将元素提交到您的服务器,看起来像这样,还是建议您以这种格式从服务器接收数据?什么是
Select Options
?听起来你好像在尝试提交一个包含多个选择框的表单?更好的是,你可以提交表单的HTML代码,包括NgoptionsThank jfab。我不熟悉Ng选项,我完全使用了错误的语法