在浏览器中直接调用PHP时工作正常,但ajax.responseText
不包含While循环发出的任何内容。
$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 :(得分:0)
作为最佳实践,您应该获取要返回的所有数据,并将其存储在变量中。之后,在循环之外,回显这个变量。