我有一个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);
// }
}
});
服务器返回以下JSON数据到我的js
[{"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);
}
}
});
在这里我得到了结果,但不是正确的方式。我需要结果categorytype明智的。但是它在数组中。我不能单独得到它
这是我的json调用
$data = array();
for($i=0;$i<$cnt;$i++)
{
array_push($data, array('categorytype'.$i.'' =>$roomtype));
}
echo json_encode($data, JSON_UNESCAPED_SLASHES);
尝试替换
警报(数据[思想史范畴的].categorytype0)
警报(datas.categorytype0)
我认为你不需要做parseJSON函数,因为你正在使用Javascript,因此数据已经是一个JSON对象。
您可以直接访问每个对象,如:data[x]
。然后,您可以像访问关联数组一样访问元素的每个属性。
您已经将数据类型设置为'json',因此参数应该已经是json对象。
同样,json是一个包含单个对象的数组。没有名为"categorys"的元素。
我建议用console.log
代替alert
。这将以一种更有用的格式在控制台中显示整个对象。