Php xmlhttprequest仅进入状态3

Php xmlhttprequest仅进入状态3,php,javascript,ajax,Php,Javascript,Ajax,我有一个带有搜索框和结果框的简单搜索表单 当我键入搜索词时,会创建一个请求,如下所示: 在php脚本中,通过以下方式将结果返回给脚本: <?php return $s; ?> 有人能告诉我为什么在3点停吗 编辑:以下是php代码: <?php header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); heade

我有一个带有搜索框和结果框的简单搜索表单

当我键入搜索词时,会创建一个请求,如下所示: 在php脚本中,通过以下方式将结果返回给脚本:

<?php return $s; ?>
有人能告诉我为什么在3点停吗

编辑:以下是php代码:

<?php
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");

session_start();


//include main file
require_once($_SESSION["FILEROOT"] . "xsite/init.php");

//check if formulier is posted

$zoekterm = C_GPC::getGETVar("s");
$s="";

if ($zoekterm != "") {
    $query="SELECT number,name,city,zib,zip_annex FROM articles WHERE version='edit' AND (naam LIKE '%$school%' OR brinnummer='$school')  ORDER BY name";
    if ($rs=C_DB::fetchRecordSet($query)) {
        while ($row=C_DB::fetchRow($rs)) {
            if ($row["plaats"]!="") {
                $s.=$row["name"].", ".$row["city"]."|".$row["number"]."\n";
            } else {
                $s.=$row["name"].", ".$row["zip"].$row["zip_annex"]."|".$row["number"]."\n";
            }
        }
    }
}

return $s;


?> 
编辑:

我在php脚本中漏掉了一个分号,现在就绪状态只有2

编辑:


问题甚至不同。它变为4,但不显示结果文本。

ReadyState 3=>已收到一些数据

ReadyState 4=>已收到所有数据

可能XMLHTTPRequest对象仍在等待一些数据

你确定你的php脚本结束正确吗


内容长度合适吗?

要调试此功能,您有两个选项,直接在浏览器中键入URL[因为您使用的是GET],然后查看发生了什么


您可以使用一个工具,例如,查看XMLHttpRequest的具体情况。不发送缓存控制:后检查=0,前检查=0。这些并不像你想象的那样,它们完全没有必要

2> 您的AJAX结果页面需要发送一个内容长度或连接:Close header


3> 尝试向您的请求URL添加随机项,以确保您没有查看过时的缓存项。

当我直接在数据库中进行查询时,我在搜索项上得到4条记录;-。如何在ajax请求中调试php代码?
<?php
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");

session_start();


//include main file
require_once($_SESSION["FILEROOT"] . "xsite/init.php");

//check if formulier is posted

$zoekterm = C_GPC::getGETVar("s");
$s="";

if ($zoekterm != "") {
    $query="SELECT number,name,city,zib,zip_annex FROM articles WHERE version='edit' AND (naam LIKE '%$school%' OR brinnummer='$school')  ORDER BY name";
    if ($rs=C_DB::fetchRecordSet($query)) {
        while ($row=C_DB::fetchRow($rs)) {
            if ($row["plaats"]!="") {
                $s.=$row["name"].", ".$row["city"]."|".$row["number"]."\n";
            } else {
                $s.=$row["name"].", ".$row["zip"].$row["zip_annex"]."|".$row["number"]."\n";
            }
        }
    }
}

return $s;


?>