json数组返回,但无法使用响应来访问它

时间:2016-09-01 15:55:58

标签: php jquery arrays json ajax

我一直在尝试从外部页面获取json数组。即使它显示在浏览器的元素检查器中,我也无法在控制台或代码中使用它。

jquery代码:

$.ajax({
  type:"POST",
  dataType:"json",
  url:"datacenter.php",
  success:function(data){
    console.log(data.codeName);
  },error:function(data){
    console.log(data);
  }
});

php代码:

<?php header('Content-type: application/json'); ?>
insight = {
  "code":"v34ns",
  "codeName":["sureman","greatboy","namely"]
}

2 个答案:

答案 0 :(得分:0)

控制台打印数据为字符串使用json.parse()函数

success:function(data){
var res = JSON.parse(data);
console.log(res.codeName);

答案 1 :(得分:0)

你需要在php标签内做所有事情。你还需要回显json

<?php
header('Content-type: application/json');
//$ makes it a variable
$insight = array(
    "code"=>"v34ns",
    "codeName"=>["sureman","greatboy","namely"]
);
echo json_encode($insight);
?>

现在在你的JS中你需要解析编码的json

$.ajax({
    type:"POST",
    dataType:"json",
    url:"datacenter.php",
    success:function(data){
        console.log(data.codeName);
    },error:function(data){
        console.log(data);
    }
});