尝试使用ajax请求将数组传递给php页面。当前响应为ction Array() { [native code] }
,而不是实际的数组内容(im positive不为空)。这是我的代码:
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更新,现在传递'undefined'
答案 0 :(得分: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); ?>);
当您在PHP中echo
数组时,它会转换为字符串"Array"
,该字符串由JavaScript作为Array
对象进行编程。
答案 1 :(得分:0)
在传递数组之前将数组转换为字符串,如下所示:
array1.join(',');
或者,如果它是一个复杂的数组,请考虑JSON:
JSON.stringify(array1);
答案 2 :(得分:0)
我这样做的方法是在JavaScript中创建数组作为分隔(〜)字符串&amp;然后我使用explode php函数加载到数组中。