我正在使用經典ASP(不是我的想法)和使用訪問數據庫從中提取數據的AJAX進行項目工作。我有以下形式:在2個元素上的AJAX搜索
<form action="" id="autocomplete-search">
<div class="simplesearch">
<label for="intesearch">Start typing a name</label>
<input type="text" onkeyup="showCustomer(this.value)" id="intesearch" onfocus="disable_submit()">
</div>
的JavaScript我在我的頁面的頂部以下內容:
function showCustomer(str)
{
// remove white space from the name entered on the search screen
str = str.replace(" ", "");
var xmlhttp;
if (str=="")
{
document.getElementById("txtHint").innerHTML="No records found";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","get_customer.asp?q="+str,true);
xmlhttp.send();
}
此鏈接到一個ASP文件:
<%
response.expires=-1
dim name
name = request.querystring("q")
sql="SELECT person.id, person.forename, person.surname, person.postid, person.extension, person.internal_extension, person.mobile, person.room_number, job.id, job.name FROM staff INNER JOIN posts ON job.id = person.jobid WHERE (person.forename & person.surname like '%" & name & "%') or job.name like '%" & name & "%'
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open("E:\websites\directory\database.mdb")
set rs=Server.CreateObject("ADODB.recordset")
rs.Open sql,conn
response.write("<table>")
response.write("<thead>")
response.write("<tr>")
response.write("<th>Forename</th>")
response.write("<th>Surname</th>")
response.write("<th>Extension</th>")
response.write("<th>Internal Ext.</th>")
response.write("<th>Mobile</th>")
response.write("<th>Room No.</th>")
response.write("<th></th>")
response.write("</tr>")
response.write("</thead>")
response.write("<tbody>")
Do While Not rs.EOF
response.write("<tr>")
response.write("<td>" & rs("forename") & "</td>")
response.write("<td>" & rs("surname") & "</td>")
response.write("<td>" & rs("extension") & "</td>")
response.write("<td>" & rs("internal_extension") & "</td>")
response.write("<td>" & rs("mobile") & "</td>")
response.write("<td>" & rs("room_number") & "</td>")
response.write("<td>" & rs("name") & "</td>")
response.write("<td><a href='index.asp?View=StaffRecord&StaffID=" & rs("id") & "'>Record</a></td>")
response.write("</tr>")
rs.MoveNext
loop
response.write("</tbody>")
response.write("</table>")
%>
的問題在於,當我從一個表中提取數據時它工作正常。由於某種原因,AJAX似乎討厭加入。
任何想法?
你確定SQL語句是正確的?您執行加入的表似乎是「staff」和「posts」,但在您的查詢中,您使用'job.'和'person.'指代字段。 – prem89 2015-04-01 13:46:40
sql應該是人員和工作 – wrichards0 2015-04-01 13:49:29