如何获得json值

时间:2014-03-22 04:52:13

标签: php json

我正在使用jquery ajax来调用PHP

PHP

$response = array('isSuccessful'=> true , 'currentId'=> $currentId);
$response = json_encode($response);
echo $response;

ajax中的Success()

success:function(data){
                var currentData=data;
                console.log(currentData);
                var s=currentData.currentId;
                console.log(s);
            }

输出

{"isSuccessful":true,"currentId":13} 
undefined

我犯了什么错误。

2 个答案:

答案 0 :(得分:1)

您还需要发送正确的标头(在本例中为application/json):

$response = array('isSuccessful'=> true , 'currentId'=> $currentId);
$response = json_encode($response);
header('Content-Type: application/json');
echo $response;

或者如果你想自己解析它,那么你可以使用$.parseJSON(data),但是如果解析失败,请确保管理抛出的错误。

答案 1 :(得分:0)

您在ajax调用中缺少dataType,可以阅读in the ajax documentation

$.ajax({
  type:"POST",
  url:"php/registerDetails.php",
  data:data,
  dataType:"json",
  success:function(data){
    var currentData=data;
    console.log(currentData);
    var s=currentData.currentId;
    console.log(s);
    },
  error:function(jqXHR, textStatus, errorThrown){
    console.log(errorThrown);
    },
  });

这通常不是必需的(例如,如果您设置标题并让jquery猜它),但我建议确保jquery知道它接收和处理错误的数据(如果有的话)而不是依赖另一个页面上的脚本与另一种语言,以确保您的数据完整性。