使用JQuery Ajax的数组帖子

时间:2013-09-13 09:40:06

标签: jquery ajax json

我发现了很多关于此的帖子,但对我来说没什么:(

我正在使用Jquery-Plugin DataTable并且我在表单中有很多表(但我不知道有多少)。

我应该从插件中获取formdata:

objDataTables.each(function(index){
    dtArray[$(this).attr('id')] = $('input', $(this).fnGetNodes()).serialize();
});

如何按$.ajax dtArray 发送到服务器 我试图创建一个对象dtArray = {},但它仍然无效。 postdata 每次都是一个空字符串。

任何人都有一个想法为什么或如何?

感谢。

注意:我没有使用JSON.stringify(...)

2 个答案:

答案 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
    }
});