2014-05-21 176 views
0

我使用json_encode在我的php文件中生成一個json對象,但是當我在Javascript中解析它時,我得到錯誤的未知標記,這是因爲當我打印返回的字符串時,它實際上是html代碼而不是json字符串。將JSON對象從PHP傳遞到Javascript

讓我們考慮最簡單的情況:

PHP:

$testjson = '{"result":true,"count":1}'; 
echo $testjson; 

JS:

$.get("serverside.php", function(data, status) { 
         JSON.parse(data); // I get error here 
       }); 

我應該如何使用JSON對象從PHP在javascript?

+0

你能請編輯問題並添加「html代碼」是什麼?即'console.log(data)'的輸出而不是'JSON.parse(data)'。另外,還有一個方便的方法'$ .getJSON',它會跳過幾個步驟。 – Amadan

+1

當我測試這個jQuery和PHP在我的服務器上似乎工作。你看到什麼錯誤? – Joe

+1

您提供的示例代碼是正確的,提供原始代碼,如果服務器已經以json形式發送數據而不是字符串,那麼JSON.parse會給出錯誤。 – Abhishek

回答

0

這可能是最好的,你多一點的動態創建的JSON數組在PHP中:

$testjson = array(); 
$testjson['result'] = true; 
$testjson['count'] = 1; 
echo json_encode($testjson); 
0

Tanantos說什麼是你最好的選擇。我個人會一直寫,如:

$testjson = array(
    "result" => true, 
    "count" => 1 
); 
echo json_encode($testjson); 
0

PHP:

$testjson = array(
    "result" => true, 
    "count" => 1 
); 
echo json_encode($testjson); 

JS:

$.get('serverside.php', function(json){ 
    console.log(json); 
}, 'json'); 
  • jQuery的1.10.2.min