2015-04-16 56 views
0

PHP在瀏覽器中直接調用時工作正常,但ajax.responseText不包含While循環給出的任何內容。Ajax請求不返回PHP循環回聲

$result = $mysqli->query("SELECT * FROM `Dienstplan` WHERE MONTH(Datum) = '$Monat'"); 
while ($row = $result->fetch_assoc()) { 
     $Datum = $row['Datum']; 
     $Datum = strtotime($Datum); 
     $Datum = date('d.m.Y',$Datum);   
     $Tag = $row['Tag']; 
     $Dienst = $row['Dienst']; 

     //echo '<tr><td>'.$Tag.' '.$Datum.' '.$Dienst.'</td></tr>'; 
     echo $Tag.' '.$Datum.' '.$Dienst.'';   
} 
echo "This is a Test!"; 

ajax.responseText只包含While循環後,最後echo。但是,當我直接在瀏覽器中調用PHP腳本時,我可以清楚地看到循環給出的所有數據。出於某種原因,它不包含在Ajaxresponse中。

這裏是Ajax代碼:

var ajax; 
ajax = new XMLHttpRequest(); 
ajax.open("GET","../php/FTL_Month_2.php",true); 
ajax.send(); 

ajax.onreadystatechange=function(){ 
     if (ajax.readyState==4 && ajax.status==200){ 
      //alert(ajax.responseText); 
      document.getElementById("DataList").innerHTML=ajax.responseText; 
     } 
} 
+0

請說清楚你的問題是什麼。 – Bludzee

+0

你確定查詢返回行嗎? – dbinns66

+0

您是否在瀏覽器的控制檯中觀看了請求/響應? –

回答

0

最佳做法是,你應該得到所有你想要返回的數據,並將其存儲在一個變量。之後,在循環之外,回顯這個變量。

+0

我照你的建議做了,但仍然回覆是空的,而瀏覽器說它不是:http://blaues-team.de/php/FTL_Month_2.php – CMX

+0

你可以顯示ajax代碼塊? –

+0

是的,請看我的問題,我剛纔添加了它。 – CMX