1

我正在通过 ajax 向 mysql 查询发送一个值。我从查询中得到输出作为数组。我用了echo json_encode($var);

如果我的数组大小大于 1,则不会调用我的成功函数。我可以在 fire bug 中看到响应和状态代码 200。

我应该如何在我的成功函数中检索值?

  success: function(data){
         ob = jQuery.parseJSON(data); 
  }               

从 firebug更新 我的 Json 响应

{"uid":"4",
"name":"ram\u00fcrmeg\u00f6zl\u00fcer",
"pic_big":"http:\/\/profile.ak.fbcdn.net\/hprofile-ak-prn1\/4149__3333_n.jpg"}
    $.ajax({
        type: "POST",
        url: "x.php",
        dataType: 'json',
        data: y,
        success: function(data){    
         }
})
4

3 回答 3

0

你可以试试:

    $.ajax({
    type: "POST",
        url: "x.php",
        dataType: 'json',
        data: y,
        success: function(data){

           $.each(data, function() {
              var uid = this.uid; // etc
           } 

          // this works alone if your response is wrapped in [ ], if not:
          if(!data.length) {
              var uid = data.uid;
          } else { // above $.each code 
          }

      }

这里的 jsFiddle:http: //jsfiddle.net/Y73xe/

于 2013-03-22T11:34:28.590 回答
0

您的响应已经是一个对象,无需解析它。只需执行此操作即可获取值:

console.log(data.uid);
console.log(data.name);
console.log(data.pic_big);

或者你想用这些值做什么。

于 2013-03-22T11:36:51.817 回答
0

试试下面的,看看你是否收到任何警报。

if(!$.isEmptyObject(data))
       { 
       alert (data);  
       var len = data.length;
       for (var i = 0; i< len; i++) {
    var var1 = [data[i].uid];
    var var2 = [data[i].name];
            var var3 = [data[i].pic_big];   

      }
else{alert('No data')}
于 2013-03-22T11:19:03.063 回答