2010-07-05 8 views
2

我是初學者。我寫了簡單的JSON jQuery的PHP代碼來幫助理解JSON的想法,但它不工作,請幫助我。(我沒有寫$ _Post,提交,點擊功能等..因爲它不工作,所以我I切斷代碼找到問題)使用AJAX檢索的Json代碼不可解析

用戶輸入view.html並應該得到一個值爲Bob的警告框 - 問題是用戶沒有得到警報框。

view.html

<html> 
<head> 
<script type="text/javascript" 
     src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"> 
</script> 
<script type="text/javascript"> 
    $(document).ready(function() { 
     $.ajax({ 
      url: 'controller.php', 
      type: 'post', 
      dataType: 'json', 
      success: function (data) { 
       alert(data["userdata"]["first"]); 
      } 
     }); 
    });​ 
</script> 
</head> 
<body> 
</body> 
</html> 

Controller.php這樣:

<?php 
    $arr=array(); 
    $arr['userdata']['first']='Dan'; 
    echo json_encode($arr); 
?> 

感謝您的幫助

+0

我在代碼中看不到任何錯誤。嘗試使用Chrome WebDeveloper-> Resources(或Firebug-> Net)進行調試,並查看是否獲得了controller.php的正確內容。它是否返回狀態200? – 2010-07-05 22:39:47

+0

我得到:503服務暫時不可用 – Yosef 2010-07-05 22:43:11

回答

1

嘗試將正確的JSON頭添加到您的PHP文件。

header('Cache-Control: no-cache, must-revalidate'); 
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); 
header('Content-type: application/json'); 
0

感謝揚我發現這個問題:我的本地Zend服務器不工作(因爲我沒有爲zend社區服務器定義密碼)當我修復它開始工作

+0

也許你可以添加一些細節,例如問題是什麼/它是如何修復的 - 以防其他人在他們的AJAX請求期間發生503錯誤而絆倒在此頁面上。 – 2010-07-05 23:32:52

2

你會檢查你的Apache的mod_security設置。這可能會導致您的503服務暫時不可用