我使用$ .post从一个单独的php文件返回一个数组,并尝试通过键访问javascript中数组的值,但是我很难这样做。
这是邮政编码:
$(document).ready(function(){
var limRefresh = setInterval(refreshLIM, 10000);
var dbAction = "feedRefresh";
var newestRow = <?php echo $newestRow ?>;
$.post("jsDb.php",{ action: dbAction,lastRow: newestRow },function(status){
console.log(status);
console.log(newArr['status']);
console.log(newArr.status);
console.log(newArr[0]);
});
});
以下是外部php文件中如何格式化响应的摘录:
echo json_encode(array("status" => "success","actId" => $newActId));
这里是相应的控制台日志(只是尝试不同的选项):
我出错的任何想法?
答案 0 :(得分:2)
您从$ .post获得的状态响应是一个字符串。您需要解析它以便按照您的意图使用它。此外,newArr未定义,因为您没有在任何地方定义它。这可能是因为您重复使用了其他人的代码并错过了这一部分:
newArr = JSON.parse(status)
答案 1 :(得分:1)
响应以字符串形式出现,因此您需要先解析它,然后才能以JSON格式访问它:
$.post("jsDb.php",{ action: dbAction,lastRow: newestRow },function(status){
var data = JSON.parse(status);
console.log(data['status'])
console.log(data['actId'])
}