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

以下を試して、アラートが表示されるかどうかを確認してください。

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 に答える
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

あなたの応答はすでにオブジェクトであり、JSON を解析する必要はありません。値を取得するには、次のようにします。

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

または、それらの値でやりたいことは何でも。

于 2013-03-22T11:36:51.817 に答える