2010-01-01 134 views
0

下面是我的JQuery代碼。我只是添加了一個'警報'來測試數據是否正確檢索。但是這個代碼不起作用。我認爲它根本無法進入「filldistricts.php」文件。無法通過JQuery調用.php文件

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.js" /> 

<script type="text/javascript"> 
$(document).ready(function(){ 
    $("#inDistrict").change(function(){ 
    $.getJSON("filldistricts.php",function(j){ 
     alert(j[0]); 
    }) 
    }) 
}) 
</script> 

下面我給 「filldistricts.php」 的代碼:

<?php 
    $query = "SELECT districtid FROM districtmaster"; 
    try 
    { 
     $result = mysql_query($query); 
     $c = ""; 

     while($row = mysql_fetch_assoc($result)) 
     { 
      $c = $c.$row['districtid'].","; 
     } 
     $c = $c."Select"; 
     echo json_encode(array($c)); 
    } 
    catch(exception $ex) 
    { 
     echo "<script type='text/javascript'>alert('".$ex."');</script>"; 
    } 
?> 

問題出在哪裏?

回答

2

也許PHP正在返回一個異常?我認爲,doens't與getJSON,因爲它不是JSON ..

+0

有一個Try..Catch。爲什麼我沒有收到異常警報? – RKh 2010-01-01 11:35:54

0

因爲你在jQuery中使用getJSON,服務器返回類型應該是JSON字符串,因此你不能把javascript和alert()當出現錯誤。

因此而不是

echo "<script type='text/javascript'>alert('".$ex."');</script>"; 

使用

echo json_encode(array($ex)) ; 

,讓你看到正確的例外。

+0

我刪除了try..catch,並在上面添加了error_reporting(E_ALL^E_NOTICE)。 – RKh 2010-01-01 11:39:53

+0

你嘗試直接從瀏覽器調用PHP文件嗎? – mauris 2010-01-01 12:36:13