我有一個簡單的搜索框與搜索框和結果框。xmlhttprequest只能得到狀態3
當我鍵入搜索詞的請求被創建,如:http://www.site.com/php_handler.php?s=hello 在PHP腳本和結果返還給腳本是這樣的:我htmlrequest停在readyState的
<?php return $s; ?>
的問題是3它不會到4
的JavaScript看起來像這樣:
var xmlhttp = sajax_init_object();
function sajax_init_object() {
var A;
try {
A=new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
A=new ActiveXObject("Microsoft.XMLHTTP");
} catch (oc) {
A=null;
}
}
if(!A && typeof XMLHttpRequest != "undefined")
A = new XMLHttpRequest();
if (!A)
sajax_debug("Could not create connection object.");
return A;
}
function getSearchItem()
{
gs=document.forms.mainform.resultsfield;
var searchword=document.forms.mainform.searchform.value;
if (searchword.length>=3)
{
setWaitCursor();
clearResults();
var uri = "http://site.com/ajax_handler.php?s="+searchword;
console.log(uri);
xmlhttp.open("GET", uri, true);
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4) {
processResults(xmlhttp.responseText);
removeWaitCursor();
}else{
console.log(xmlhttp.readyState);
}
}
xmlhttp.send(null);
}
else
{
alert("please add at least 3 characters .");
}
}
有人能告訴我爲什麼STO ps在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,但不顯示結果文本。
沒有。我將在發佈帖子中發佈php。等一秒鐘。 – sanders 2009-07-06 13:40:49
感謝張貼 - 創建您的AJAX請求所使用的URL,並將其直接發佈到瀏覽器中以查看輸出。我的直接建議是回顯$ s而不是返回$ s。 – Fenton 2009-07-07 06:59:45