Ajax请求不返回PHP循环回显

时间:2015-04-16 20:46:53

标签: javascript php ajax

在浏览器中直接调用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;
        }
}

1 个答案:

答案 0 :(得分:0)

作为最佳实践,您应该获取要返回的所有数据,并将其存储在变量中。之后,在循环之外,回显这个变量。