Php Ajax搜索不工作,而XML已在运行?
我是一个Ajax新手,我试过这本教程,但没用。代码用于搜索 这是脚本search.htmPhp Ajax搜索不工作,而XML已在运行?,php,ajax,xml,Php,Ajax,Xml,我是一个Ajax新手,我试过这本教程,但没用。代码用于搜索 这是脚本search.htm <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>AJAX + MySQL I</title> <script type="text/javascript" src="search.js"></script> </head> <body onload=
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>AJAX + MySQL I</title>
<script type="text/javascript" src="search.js"></script>
</head>
<body onload='process()'>
<h1>Student Search</h1>
<form name="form1">
Masukkan Nama Mahasiswa: <input type="text" id="namaMhs" />
</form>
<p><strong>Hasil Pencarian :</strong></p>
<div id="hasil" />
</body>
</html>
AJAX+MySQL-I
学生搜索
玛哈西斯瓦先生:
Hasil Pencarian:
以及JS脚本search.JS
var xmlHttp = createXmlHttpRequestObject();
function createXmlHttpRequestObject()
{
var xmlHttp;
if(window.ActiveXObject)
{
try
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
xmlHttp = false;
}
}
else
{
try
{
xmlHttp = new XMLHttpRequest();
}
catch (e)
{
xmlHttp = false;
}
}
if (!xmlHttp) alert("Obyek XMLHttpRequest tidak dapat dibuat");
else
return xmlHttp;
}
function process()
{
if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
{
nama =
encodeURIComponent(document.getElementById("namaMhs").value);
xmlHttp.open("GET", "search.php?namaMhs=" + nama, true);
xmlHttp.onreadystatechange = handleServerResponse;
xmlHttp.send(null);
}
else
setTimeout('process()', 1000);
}
function handleServerResponse()
{
if (xmlHttp.readyState == 4)
{
if (xmlHttp.status == 200)
{
var xmlResponse = xmlHttp.responseXML;
xmlRoot = xmlResponse.documentElement;
nimArray = xmlRoot.getElementsByTagName("nim");
namaMhsArray = xmlRoot.getElementsByTagName("namamhs");
alamatArray = xmlRoot.getElementsByTagName("alamat");
if (nimArray.length == 0)
{
html = "Data tidak ditemukan";
}
else
{
// membentuk tabel untuk menampilkan hasil pencarian
html = "<table border='1'><tr><th>NIM</th><th>Nama
Mhs</th><th>Alamat</th></tr>";
for (var i=0; i<nimArray.length; i++)
{
html += "<tr><td>" + nimArray.item(i).firstChild.data +
"</td><td>" +
namaMhsArray.item(i).firstChild.data +
"</td><td>" +
alamatArray.item(i).firstChild.data +
"</td></tr>";
}
html = html + "</table>";
}
document.getElementById("hasil").innerHTML = html;
setTimeout('process()', 1000);
}
else
{
alert("Ada masalah dalam mengakses server: " +
xmlHttp.statusText);
}
}
}
var xmlHttp=createXmlHttpRequestObject();
函数createXmlHttpRequestObject()
{
var-xmlHttp;
if(window.ActiveXObject)
{
尝试
{
xmlHttp=新的ActiveXObject(“Microsoft.xmlHttp”);
}
捕获(e)
{
xmlHttp=false;
}
}
其他的
{
尝试
{
xmlHttp=新的XMLHttpRequest();
}
捕获(e)
{
xmlHttp=false;
}
}
如果(!xmlHttp)警报(“Obyek XMLHttpRequest tidak dapat dibuat”);
其他的
返回xmlHttp;
}
函数过程()
{
if(xmlHttp.readyState==4 | | xmlHttp.readyState==0)
{
nama=
encodeURIComponent(document.getElementById(“namaMhs”).value);
open(“GET”、“search.php?namaMhs=“+nama,true”);
xmlHttp.onreadystatechange=handleServerResponse;
xmlHttp.send(空);
}
其他的
setTimeout('process()',1000);
}
函数handleServerResponse()
{
if(xmlHttp.readyState==4)
{
if(xmlHttp.status==200)
{
var xmlResponse=xmlHttp.responseXML;
xmlRoot=xmlResponse.documentElement;
nimArray=xmlRoot.getElementsByTagName(“nim”);
namaMhsArray=xmlRoot.getElementsByTagName(“namamhs”);
alamatArray=xmlRoot.getElementsByTagName(“alamat”);
if(nimArray.length==0)
{
html=“Data tidak ditemukan”;
}
其他的
{
//这是一个让你的铅笔更便宜的表格
html=“尼玛
MhsAlamat”;
对于(var i=0;i
请帮助我修复此脚本。search.php上的XML已在运行,但我的搜索尚未运行。非常感谢您的帮助。在文本字段中出现值之前,您正在提交加载的脚本:
<body onload='process()'>
<h1>Student Search</h1>
<form name="form1">
Masukkan Nama Mahasiswa: <input type="text" id="namaMhs" />
</form>
学生搜索
玛哈西斯瓦先生:
您应该向文本字段添加如下值:
<input type="text" value="testname" id="namaMhs" />
或者,作为更好的选择,添加一个提交按钮,不要在加载时运行该功能,而是在提交时运行:
<body>
<h1>Student Search</h1>
<form name="form1">
Masukkan Nama Mahasiswa: <input type="text" id="namaMhs" />
<input type="button" value="Search" onclick="process();" />
</form>
学生搜索
玛哈西斯瓦先生:
您的代码可能会有更多甚至更多的问题,我不打算全部看一遍,但这应该会让您有一个好的开始。Ankur,这是一大堆代码,在现代JS库中只需要一行代码即可完成。我的建议是使用jQuery:
<body>
<h1>Student Search</h1>
<form name="form1">
Masukkan Nama Mahasiswa: <input type="text" id="namaMhs" />
<input type="button" value="Search" onclick="process();" />
</form>