我发现了很多关于此的帖子,但对我来说没什么:(
我正在使用Jquery-Plugin DataTable并且我在表单中有很多表(但我不知道有多少)。
我应该从插件中获取formdata:
objDataTables.each(function(index){
dtArray[$(this).attr('id')] = $('input', $(this).fnGetNodes()).serialize();
});
如何按$.ajax
将 dtArray 发送到服务器
我试图创建一个对象dtArray = {}
,但它仍然无效。 postdata 每次都是一个空字符串。
任何人都有一个想法为什么或如何?
感谢。
注意:我没有使用JSON.stringify(...)
答案 0 :(得分:0)
您确定要发送的数据是输入还是textarea标记? 其他元素(如表格)不会被序列化函数收集。
如果数据不在输入或textarea字段中,但您仍想收集它,那么您将不得不遍历所有行和列。
答案 1 :(得分:0)
我懂了:) 创建一个Object而不是一个Array。注意:不要序列化对象。 如果其他人有同样的情况......我的解决方案
var tData = {};
for(var index in dtArray){
tData[index] = $('input', dtArray[index].fnGetNodes()).serialize();
};
并在Ajax中:
$.ajax({
url: 'ajax.php',
type: "POST",
dataType: "json",
timeout: 4000,
data: { func: "ajax", formData: tData },
success: function(data, textStatus, jqXHR){
// to do
},
error: function(jqXHR, textStatus, errorThrown){
// to do
}
});