所以我在 PHP 端有这个:
//enclosed in for loop start
$titleArray[] = $title;
$idsArray[] = $id;
//enclosed in for loop end
循环运行后,数组被填充,这里是一个 var_dump 显示。然后我们对其进行 json 编码并退出,将其作为响应发送给 jQuery 处理。
var_dump($titleArray);
array(2) {
[0]=>
string(2) "T1"
[1]=>
string(2) "T2"
}
var_dump($idsArray);
array(2) {
[0]=>
string(2) "I1"
[1]=>
string(2) "I2"
}
$output = array('success' => true, 'type' => 'valid', 'titles' => ''.$titleArray.'', 'ids' => ''.$idsArray.'');
echo json_encode($output);
exit();
这是我遇到问题的地方。我似乎无法再访问这些数组(标题/ID)了。回应是:
{"type":"valid","titles":"Array","ids":"Array"}
这是处理响应的发布成功区域:
success: function(output) {
var x = $.parseJSON(output);
if(x.type=='valid'){
$.each(x.titles, function(k, v) {
$("#output-area").append('<div id="'+v.ids+'" class="title">Title: '+v.titles+'</div>');
});
}
}
此时应附加 2 个新 div,因为数组中有 2 个项目。相反,我得到了 5 个新附加的 div,其中 undefined 作为v.ids
和v.titles
值。在这种情况下,如何获得正确和所需的输出?