2013-03-19 82 views
0

在PHPPHP數組JSON爲Javascript

<?php 
    $arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5); 
    echo json_encode($arr); // {"a":1,"b":2,"c":3,"d":4,"e":5} 
?> 
在JavaScript

$.getJSON('drivetracker2.php', function(data) { 
    console.log(data); 
}); 

我試圖訪問PHP數組這是通過JSON發送到的JavaScript。
但它說數據是未定義的。
有人知道爲什麼以及如何解決這個問題?

+1

如果您在瀏覽器中訪問'drivetracker2.php',結果如何? – pktangyue 2013-03-19 09:13:28

+0

您發佈的代碼對我來說看起來不錯。你是否想在其他地方訪問數據? – 2013-03-19 09:15:19

+0

如果您使用Chrome/Firefox等現代瀏覽器,則應使用開發工具檢查請求。這將允許您確定請求是否正確發送/接收。 – juco 2013-03-19 09:17:21

回答

1

試試這個

$.post('drivetracker2.php', function(data) { 
    console.log(data); 
},'json'); 
+0

爲什麼這應該有所作爲?請解釋。 – 2013-03-19 09:14:11

+2

您需要指定響應將以何種格式發送。在這裏,他說Jquery「我等待的響應是一個JSON字符串」,所以它會自動解析爲一個JSON對象 – Loupax 2013-03-19 09:16:57

+0

@Loupax:這是指向我嗎? '.getJSON'還告訴jQuery將響應視爲JSON。 OP的代碼沒有區別,只是它是POST而不是GET。 – 2013-03-19 09:30:25

1

添加這個你呼應JSON之前。

header('Content-Type: application/json');