2015-02-09 58 views
0

首先,我想告訴你,我搜索並沒有從我的問題stackoverflow的前一篇文章得到任何解決方案。所以我張貼我的問題在這裏。jQuery檢索JSON數據錯誤

以下是echo json_encode($flterarr); {"2":{"surname":"Winchester","mobile":"07898989898","license":"1234567890b"},"3":{"surname":"winchester","mobile":"07898989891","license":"1234567890bytfty"},"4":{"surname":"Test","mobile":"","license":"23frd"}}

繼後返回的數據是我的Ajax代碼

$.ajax(

    { 

     type:"POST",          

     url: '../icabz/filterRefresh.php', 

     data: "filter_reset_surname="+filter_reset_surname+"&filter_reset_mobile="+filter_reset_mobile+"&filter_reset_reg_num="+filter_reset_reg_num+"&filter_reset_approval_status="+filter_reset_approval_status+"&filter_reset_logged_status="+filter_reset_logged_status, 
     success: function(data) 

     { 
      alert(data); 
      $.each(data, function(key,val) { 

      alert(val); 
       /*$.each(val, function(key1, val1) { 

       alert(val1.surname); 
       });*/ 
      }); 
     } 

    }); 

當我提醒原始數據(不使用dataType:"json" or $.parseJSON(data))從PHP頁面則顯示data.But返回當我在$.each()函數中提醒返回的數據時,它會顯示該單詞並在控制檯中顯示以下內容。

TypeError: invalid 'in' operand obj 
typeof length === "number" && length > 0 && (length - 1) in obj; 

現在,如果我試圖用dataType:"json" or $.parseJSON(data)並提醒它顯示了data.then [對象的對象。 我正在使用jQuery 1.11.1版本。

我如何獲取數據來獲取姓氏?

回答

0

你應該使用dataType:"json" 現在,嘗試提醒data["2"].surname,你應該得到「溫徹斯特」。 如果你想遍歷你的對象,你可以不喜歡它:

for (var key in data) { console.log(key, data[key]); } 

taken from here

for (var key in data) { 
    for (var skey in data[key]) { 
     console.log(skey); 
    } 
} 
+0

'for(var key in data){console.log(key,data [key]); }' 我用這個和它顯示我想要的value.How可我能得到的價值,因爲它是多維數據由JSON返回的key.but。 – 2015-02-09 07:31:36

+0

只需添加for循環的另一個innear(當然,不同變種的名字!) – ItayB 2015-02-09 07:35:21

+0

的(數據VAR子[關鍵]){執行console.log(子項)} – ItayB 2015-02-09 07:37:23

0

使用dataType : "json"

那麼,試試下面在你的成功部分:

data= JSON.parse(data); 

jQuery.each(data, function(key,val){ 
    alert(val.surname); 
}); 

http://jsfiddle.net/sachint/pryotLxj/

+0

雖然我嘗試使用代碼它是在控制檯以下錯誤: – 2015-02-09 07:52:05

+0

'語法錯誤:JSON.parse:意外的字符位於第1行的JSON數據的第2列 \t JSON = JSON.parse(數據);' – 2015-02-09 07:52:22

+0

你能告訴我這個新的ajax部分嗎? – sachin 2015-02-09 08:16:59