我正在使用最新的jquery datatables 1.10 plugin
在我的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调用的数据参数中,以便我的服务器可以将其拾取。
我不想丢失数据表传递的当前数据。我想将表单输入元素附加到此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
个输入,而不是一次明确指定一个输入。
答案 0 :(得分:0)
您可以使用方便的.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