我已经向我的服务器请求了用户提交的帖子列表。但是作为回应我得到一个包含stdClass对象数组的字符串。如果它是实际数组,那就不会有问题了。但它是一个刺痛。如下所示:
" array(
[0]=>stdClass('title'='title of post','post_id'=4),
[1]=>stdClass('title'='title of post','post_id'=4)
)"
typeof(response)
正在给我“字符串”。我的问题是,我如何才能从中获取个别元素?
代码:
$.ajax('../includes/ajaxpostinfo.php',{
data:data,
type:"POST",
success:function(response){
alert(typeof(response)); // it prints out "string"
},
error:function(response){
alert(response);
}
});
答案 0 :(得分:4)
做一些这样的事情:
服务器:
$array= array(
[0]=>stdClass('title'='title of post','post_id'=4),
[1]=>stdClass('title'='title of post','post_id'=4)
);
echo json_encode($array);
客户端:
$.ajax('../includes/ajaxpostinfo.php',{
data:data,
type:"POST",
dataType : "json",//set data type
success:function(response){
alert(typeof(response));
},
error:function(response){
alert(response);
}
});
答案 1 :(得分:-1)
也许你添加
dataType : "json"
你的ajax请求中的
" json":将响应评估为JSON并返回JavaScript对象。跨域" json"请求转换为" jsonp"除非请求在其请求选项中包含jsonp:false。 JSON数据以严格的方式解析;任何格式错误的JSON都会被拒绝,并抛出一个解析错误。从jQuery 1.9开始,空响应也被拒绝;服务器应该返回null或{}的响应。 (有关正确的JSON格式的更多信息,请参阅json.org。)