将php数组传递给javascript然后按键

时间:2017-10-15 07:20:55

标签: javascript php arrays

我使用$ .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));

这里是相应的控制台日志(只是尝试不同的选项):

  • {&#34; status&#34;:&#34; success&#34;,&#34; actId&#34;:&#34; 585924418&#34;}
  • 未定义
  • 未定义
  • {

我出错的任何想法?

2 个答案:

答案 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'])
}