ajax响应的访问元素来自数组的激动

时间:2015-12-31 09:06:51

标签: javascript php jquery arrays ajax

我已经向我的服务器请求了用户提交的帖子列表。但是作为回应我得到一个包含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);
       }
});

2 个答案:

答案 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。)

JQuery Ajax documentation