Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 数据参数在ajax表单调用中的使用_Jquery - Fatal编程技术网

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({

我在一个视图中有多个表单,我通过jquery提交它们,我在每个表单中都执行类似于以下示例的ajax:

 $.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]),