Jquery 数据参数在ajax表单调用中的使用
我在一个视图中有多个表单,我通过jquery提交它们,我在每个表单中都执行类似于以下示例的ajax:Jquery 数据参数在ajax表单调用中的使用,jquery,Jquery,我在一个视图中有多个表单,我通过jquery提交它们,我在每个表单中都执行类似于以下示例的ajax: $.ajax({ url: "/Providers/Add", type: "POST", dataType: "json", contentType: "application/json; charset=utf-8", data: JSON.stringify({
$.ajax({
url: "/Providers/Add",
type: "POST",
dataType: "json",
contentType: "application/json; charset=utf-8",
data: JSON.stringify({
Name: $("#Name").val(),
Phone: $("#Phone").val(),
Email: $("#Email").val(),
Country: $("#Country").val(),
State: $("#State").val(),
Address: $("#Address").val()
}),
succes: function(result) {
$('#mdlnewprovider').hide();
}
});
我现在的问题是我有很多形式的id名称,我知道一个解决方案是更改我的名称,如#Name1,#Name2#但是我不喜欢这个选项,因为它会一团糟
我试着做类似的事情,但不起作用:
data: JSON.stringify($('#frmeditprovider').serializeArray())
所以现在我只需要担心有唯一的表单,而不是唯一的字段,这会更容易,那么正确的方法是什么呢
提前谢谢。您应该直接尝试
serializeArray
而不使用JSON。stringify
:
data: $('#frmeditprovider').serializeArray();
希望这能奏效。要了解更多信息,请参考:正确的方法是使用实际的唯一标识符,因为无论您怎么想,多次使用相同的标识都是无效的。我的表单是asp mvc的强类型表单,这就是问题所在,例如,我有一个具有属性名称的类person,然后我有一个具有属性名称的类studdent,asp mvc默认为它们提供属性名的Id任何尝试都将失败,因为
$(“#frmeditprovider”)
将只获取具有该Id的第一个元素,它甚至不会查找具有该Id的任何其他元素,因为应该只有一个。唯一的解决方法是一个糟糕的方法,使用$('[id=“frmeditprovider”]')
将获得所有元素,因为它是基于属性的,但同样,它的效率较低,这只是一个黑客,因为真正的问题是多个id的签名,我将创建唯一的id,就像frm编辑字段名一样。我正在显示弹出窗口,这就是它们重复出现的原因。我的表单可以显示在任何地方谢谢,但我也遇到了这个错误:[ArgumentException]:无效的JSON原语:Id。可能我的html有问题,我的标识符重复可能这会有帮助:()和()。另外,()我相信,这会有帮助:然后数据:$.toJSON($('frmeditprovider').serializeArray()[0]),
。