通过jQuery .ajax发送嵌套数组

时间:2011-12-20 11:30:44

标签: php javascript jquery ajax multidimensional-array

我有一个数组,其中每个元素都是一个数组,如下所示:

results = {
              {1, "A", 11, 0, 7, 0},
              {2, "A", 13, 2, 2, 1},
              {3, "A",  7, 0, 2, 2}
          }

我想知道如何通过jQuery的.ajax函数将其发送给PHP?

我现在的jQuery调用看起来像是:

$.ajax({type: "POST",
        url:  "updateResults.php",
        data: "results="+results,
        success: function(data) {
            if(data == "ok") {
                $("#msgSuccess").show();
            } else {
                $("#msgError").show();
            }
        }
});

谢谢!

3 个答案:

答案 0 :(得分:2)

使用serializeArray() http://api.jquery.com/serializeArray/

答案 1 :(得分:2)

最简单的方法是使用data的对象:

data: {results: data};
如果你这样做,jQuery会自动对数据进行URI编码,这比自己搞乱字符串连接更有利。

答案 2 :(得分:0)

如果结果是字符串格式,那么这将有效Fiddle

var results = '{{1, "A", 11, 0, 7, 0}, {2, "A", 13, 2, 2, 1}, {3, "A",  7, 0, 2, 2}}';
results = results.replace(/{/gi, '[');
results = results.replace(/}/gi, ']');
results = eval(results); //This is your array format which can be sent as JSON request data

$.each(results, function(index, item){
    $.each(item, function(ind, it){
        alert(it);
    });
});