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
如何附加fom';s输入到jquery Ajax Post';s现有数据参数列表_Jquery_Datatables_Datatables 1.10 - Fatal编程技术网

如何附加fom';s输入到jquery Ajax Post';s现有数据参数列表

如何附加fom';s输入到jquery Ajax Post';s现有数据参数列表,jquery,datatables,datatables-1.10,Jquery,Datatables,Datatables 1.10,我正在使用最新的jquerydatatables 1.10插件 在我的ajax调用中,我有以下标准将数据传递给我的asp.net mvc控制器 "ajax": { "type": "POST", "url": '/myUrl/MyMethod/', "contentType": 'application/json; charset=utf-8', "data": function (data) { r

我正在使用最新的
jquerydatatables 1.10插件

在我的ajax调用中,我有以下标准将数据传递给我的
asp.net mvc
控制器

"ajax": {
            "type": "POST",
            "url": '/myUrl/MyMethod/',
            "contentType": 'application/json; charset=utf-8',
            "data": function (data) { return data = JSON.stringify(data); }
        },
我的页面上还有一个包含各种输入元素的表单。表单的id为
form1

我想做的是将这个表单的所有元素和值附加到我的ajax调用的数据参数中,这样我的服务器就可以接收它

我不想丢失datatables传递的当前数据。我想将表单输入元素附加到此JSON数据

作为一种解决方法,目前我在url中单独传递form1输入元素的值,但正如您所看到的,这远远不够理想

"ajax": {
            "type": "POST",
            "url": '/myUrl/MyMethod/?myselect='+$('#myselect').val(),
            "contentType": 'application/json; charset=utf-8',
            "data": function (data) { return data = JSON.stringify(data); }
        },
问题:

如何修改行:

"data": function (data) { return data = JSON.stringify(data); }

添加
#form1
输入,而不一次明确指定一个输入。

您可以使用handy.serializeArray函数

因此,对于jquery代码:

var form_data = $("#form1").serializeArray();

//I'm just assuming here that 'table_data' is an existing array with index/values in it from your datatables

 $.each(form_date,function(index,value){
     table_data[value['name']] = value['value']
 })

 //And now both sets of data are merged and you can just pass table_data to your ajax call

您可以编写jquery的扩展来将表单序列化对象转换为json,示例如下:代码“data”中的函数(data){return{data:json.stringify(data),form1:json.stringify($('form').serializeObject())}