json_encode返回未定义

时间:2016-10-09 17:08:32

标签: javascript php jquery json

所以我一直在阅读一些关于使用json从PHP返回值的指南。然而,我遇到了一些问题。现在,我有一个jquery函数(不要分心'id:1',它用于别的东西),例如:

$('#some_trigger').on('change', function(){
    $.post("retrieve.data.php", {
            id: 1
      }, function (data) {
          var values = data;

          alert(values[name]);
    });
});

在接收端(在'retrieve.data.php'中),我得到了:

$arr_assoc_template = array(
"name" => "aName",
"id" => "anId"
);

echo json_encode($arr_assoc_template, JSON_PRETTY_PRINT);

但是,控制台和警报窗口会将[name]记录为未定义。我错过了什么? :(

2 个答案:

答案 0 :(得分:1)

使用JSON.parse,将一串JSON文本转换为Javascript对象。

var values = $.parseJSON(data);

console.log(values.name);

答案 1 :(得分:-1)

name中的values["name"]附近缺少双引号,或者您可以使用values.name。第一种选择是更好的做法。