2012-01-27 115 views
1

我在PHP中使用了一個數組,我傳遞給了我在JavaScript中使用的視圖。使用JSON對象將PHP數組轉換爲JavaScript - 返回null

因此,我所得到的是:

stdClass Object 
(
    [tones] => Array 
    (
     [0] => Array 
     (
      [id] => 114 
      [sleep_session_id] => 55 
      [responded_to] => 
      [in_bed] => 1 
      [created] => 1316443267104 
      [inserted] => 2011-09-19 14:43:04 
     ) 
    ) 
) 

$(function() { 
    var tones = $.parseJSON(<?php echo json_encode($this->tones); ?>); 
    alert(tones); 
}); 

導致沿着線的東西:

<script type="text/javascript"> 
    $(function() { 
     var tones = $.parseJSON([{"id":114,"sleep_session_id":55}]); 
     alert(tones); 
    }); 
</script> 

所有我得到回來爲空,jQuery是肯定加載和我檢查了JSON在jsonlint.com,它似乎有效

希望你能幫助我走出

安迪

回答

6

如果你的服務器端數據是JSON,有沒有必要在Javascript中使用$.parseJSON

$(function() { 
    var tones = <?php echo json_encode($this->tones); ?>; 
    alert(tones); 
}); 
+0

謝謝:)愚蠢的錯誤! – Garbit 2012-01-27 11:32:29

2

parseJSON解析JSON字符串,所以附上您的編碼陣列中的引號:

$(function() { 
    var tones = $.parseJSON('<?php echo json_encode($this->tones); ?>'); 
    alert(tones); 
}); 

See this example

+0

感謝您的幫助:) – Garbit 2012-01-27 11:32:52

4
$(function() { 
     var tones = $.parseJSON('[{"id":114,"sleep_session_id":55}]'); 
     alert(tones); 
    }); 
+0

耶穌,我一定還睡着了:D謝謝你們。這麼愚蠢的時候,這樣的訣竅可以讓你在StackOverflow上發佈足夠的內容,以便意識到你已經提出了一個非常愚蠢的問題:)再次感謝所有人。我最終只是迴應了php json_encode就可以了。看起來整潔,我不信任js:D – Garbit 2012-01-27 11:31:33

+0

它發生在星期五! hehehe – 2012-01-27 11:47:26