2012-11-29 90 views
4

我正在使用jQuery的AJAX功能 - 我得到的迴應很好,但由於某些奇怪的原因,我無法解析其中的信息!使用jQuery解析PHP Json對象。

我打電話以下幾點:

console.log(results); 
console.log(results.data); 

而我得到的是:

{"data":[{"member":"asdfasdf","status":"Invalid Email"}]} 
undefined 

這裏是我的jQuery:

$.ajax({ 
    type: "POST", 
    url: "<?php echo Uri::base();?>ajax/add_members/organization", 
    data: { 
     organization_id: <?php echo $organization->id;?>, 
     members: $('#members').val(), 
     position: $('#position').val() 
    } 
}).done(function (results) { 
    // lets add them to the table 
    console.log(results); 
    console.log(results.data); 
}); 

UPDATE:dataType: 'json',被要求!

+3

你能提供一個你的ajax調用設置的例子嗎?只要你指定'dataType'爲json就可以正常工作。 –

+0

http://stackoverflow.com/questions/3005606/jquery-json-parsing – jsteinmann

+0

發佈了我的jquery,生病嘗試添加數據類型,並且也看不到這個答案 – LukePOLO

回答

2

僅僅因爲你已經在results成功檢索到的字符串並不意味着它已經是一個對象。您需要將JSON字符串解析成一個對象(這個可以根據調用(即getJSON)的實際方法來實現的捷徑。

您可能需要做這樣的事情,以實際得到的對象。

var obj = $.parseJSON(results); 
+0

這也會起作用 – LukePOLO

0
var obj = jQuery.parseJSON('{"name":"John"}'); 
alert(obj.name === "John");