如何在AJAX成功函数中获取json数据

时间:2015-09-07 15:37:32

标签: php jquery ajax json yii2

我有一个AJAX电话:

$.ajax({
    type     : "POST",
    dataType : 'JSON',
    url      : "../hotelroomtype",
    data     : form_data,
    success  : function(data){
        var datas = $.parseJSON(data);
        alert(datas['categorys'].categorytype0)
        // var returnedData = $.parseJSON(data);
        // alert(returnedData);
        // $('.x').html(returnedData);
        //
        // for(i=1;i<oldSeason;i++){
        //     $('#roomcategory'+i).html(data.categorytype+i);
        // }
    }
});

服务器向我的js返回以下JSON数据

[{"categorytype0":"<div class='panel-body'>adfdfs<\/div><div class='panel-body'>adfdfs<\/div><div class='panel-body'>adfdfs<\/div><div class='panel-body'>adfdfs<\/div>"},{"categorytype1":"<div class='panel-body'>adfdfs<\/div><div class='panel-body'>adfdfs<\/div><div class='panel-body'>adfdfs<\/div><div class='panel-body'>adfdfs<\/div><div class='panel-body'>adfdfs<\/div><div class='panel-body'>adfdfs<\/div><div class='panel-body'>adfdfs<\/div><div class='panel-body'>adfdfs<\/div>"}]

当我查看提醒时,它只显示[object object]。问题在哪里?

  

编辑:AJAX电话:

 $.ajax({
        type     : "POST",
        url      : "../hotelroomtype",
        data     : form_data,
        success  : function(data){
          dataType : 'JSON',

             for(i=1;i<oldSeason;i++){
                 $('#roomcategory'+i).html(data.categorytype+i);
             }
        }
    });
  

这里我得到的结果,但没有正确的方式。我需要结果   类别明智。但是它在数组中......我不能分开得到它

     

这是我的json电话

$data = array();
for($i=0;$i<$cnt;$i++)
{
    array_push($data, array('categorytype'.$i.'' =>$roomtype));
}
    echo json_encode($data, JSON_UNESCAPED_SLASHES);

3 个答案:

答案 0 :(得分:0)

尝试替换

  

警报(DATAS [ '的categorys']。categorytype0)

  

警报(datas.categorytype0)

答案 1 :(得分:0)

我认为您不需要执行parseJSON函数,因为您正在使用Javascript,因此数据已经是JSON对象。
您可以直接访问每个对象,例如:data[x]。然后,您可以访问元素lika和关联数组的每个属性。

答案 2 :(得分:0)

您已将dataType设置为&#39; json&#39;,因此参数应该已经是json对象。

此外,您的json是一个包含单个对象的数组。它没有名为&#39; categorys&#39;。

的元素

我建议使用alert而不是console.log。这将以更有用的格式向您显示控制台中的整个对象。