2012-03-30 57 views
0

JSON新手試圖掌握這一點。我的頁面沒有提醒任何事情。這裏有什麼問題?用PHP測試JSON

此頁面的名稱是test.php。

<!DOCTYPE html> 
<HTML> 
<HEAD> 
<TITLE>test</TITLE> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 


</HEAD> 

<?php 

$arr = array ('item1'=>"test1",'item2'=>"test2",'item3'=>"test3");  
$test = json_encode($arr); 
echo $test; 

?> 

$(function() { 
    $.getJSON('test.php',function(data) { 

    alert("Testing Data Item1 , its value is: >" + data.item1 + "<"); 

      $.each(data,function(i, item) {  
    alert(item.key);  
      });  
     }); 
    }); 
</script> 

回答

1

您需要從輸出JSON的頁面刪除HTML。所有你在test.php想要的是:

<?php 
$arr = array ('item1'=>"test1",'item2'=>"test2",'item3'=>"test3");  
$test = json_encode($arr); 
echo $test; 
?> 

有一件事我平時雖然也明確設置內容類型標題:

<?php 
header('Content-type: application/json'); 
$arr = array ('item1'=>"test1",'item2'=>"test2",'item3'=>"test3");  
$test = json_encode($arr); 
echo $test; 

?> 
+0

確定。我將PHP從HTML中分離出來,並將HTML包含到PHP中。提出你的建議,但仍然沒有迴應。 – stevenpepe 2012-03-30 15:32:59

+0

您是否嘗試用firebug檢查響應,或用瀏覽器直接訪問'test.php'?如果php輸出錯誤,那麼它會使你的JSON無效。 – prodigitalson 2012-03-30 16:44:11