0

尝试使用 ajax 请求将数组传递给 php 页面。当前的响应ction Array() { [native code] }与实际的数组内容相反(即时响应不是空的)。这是我的代码:

    function GetPaginationPage(array1) {
    var jsonString = JSON.stringify(array1);

    $.ajax({
        type: "POST",
        url: "includes/get_pagination_page.php",
        data: {data : jsonString},
        success: function(data){ 
        $('.contestants_list').append(data);
        }
        });
};

用 json 更新,它现在传递“未定义”

4

3 回答 3

1

没有理由在JSON.stringify这里使用。只需将数组正常发送到 PHP。

function GetPaginationPage(array1) {
    $.ajax({
        type: "POST",
        url: "includes/get_pagination_page.php",
        data: {
            data: array1
        },
        success: function (data) {
            $('.contestants_list').append(data);
        }
    });
}

现在在 PHP 中,$_POST['data']将是一个数组。

更新:你说你是这样打电话GetPaginationPage的:

GetPaginationPage(<?php echo $contestants_array; ?>);

您需要将其更改为:

GetPaginationPage(<?php echo json_encode($contestants_array); ?>);

当您echo在 PHP 中使用数组时,它会被转换为字符串"Array",由 JavaScript 解释为Array对象。

于 2012-07-12T15:26:17.387 回答
0

在传递它之前将数组转换为字符串,如下所示:

array1.join(',');

或者,如果它是一个复杂的数组,请考虑 JSON:

JSON.stringify(array1);
于 2012-07-12T15:16:43.673 回答
0

我这样做的方法是在 JavaScript 中将数组创建为分隔 (~) 字符串,然后我使用 explode php 函数加载到数组中。

于 2012-07-12T15:16:51.270 回答