用ajax、asp编写的查询程序(原创)_[AJAX教程]
ajaxsearch.htm
 新网页 
 
 
 
ajaxsearch.asp
<%
' commond.asp为数据库连接文件
' function.asp中有要用到的函数CheckStr
Dim Search_Word,XML_Result,rsSearch,sqlSearch
Set rsSearch=Server.CreateObject("ADODB.RecordSet")
' 获取搜索关键字
Search_Word=Request("searchword")
' XML文档头
XML_Result=""
IF Search_Word<>Empty Then
 ' 创建查询SQL语句
 sqlSearch="SELECT log_ID,log_Title,log_Content FROM blog_Content WHERE log_Title LIKE '%"&Search_Word&"%'"
 ' 打开记录集
 rsSearch.open sqlSearch,Conn,1,1
 ' 如果没有搜索结果就产生一个结果,logid为#,标志着没有搜索结果
 IF rsSearch.BOF AND rsSearch.EOF Then XML_Result=XML_Result&"#"
 ' 循环输出搜索结果
 Do While Not rsSearch.EOF
 XML_Result=XML_Result&""&rsSearch("log_ID")&""&rsSearch("log_Title")&"" ' 循环输出每一个结果
 rsSearch.MoveNext
 Loop
Else
 ' 关键字为空,则返回无搜索结果
 XML_Result=XML_Result&"#"
End IF
XML_Result=XML_Result&""
' 设置MIME Type为XML文档
Response.ContentType = "application/xml"
'Response.CharSet = "utf-8"
' 输出搜索结果
Response.Write(XML_Result)
%>
ajaxsearch.js
var xmlObj = false;
var xmlResult;
try {
 xmlObj=new XMLHttpRequest;
}
catch(e) {
 try {
 xmlObj=new ActiveXObject("MSXML2.XMLHTTP");
 }
 catch(e2) {
 try {
 xmlObj=new ActiveXObject("Microsoft.XMLHTTP");
 }
 catch(e3) {
 xmlObj=false;
 }
 }
}
if (!xmlObj) {
 alert("XMLHttpRequest init Failed!");
}
function AjaxSearch() {
 var searchword;
 // 获取搜索关键字,并且进行URLEncode
 searchword=escape(document.getElementById("searchword").value);
 if(searchword=="") {
 // 如果关键字为空,则提示用户输入关键字
 document.getElementById("search_result").innerHTML="
";
 return;
 }
 // 给出提示,正在搜索
 document.getElementById("search_result").innerHTML="";
 // 打开一个连接,采用POST
 xmlObj.open ("POST", "ajaxsearch.asp", true);
 // 设置请求头,表单内容格式为URLEncoded
 xmlObj.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
 // 设置完成请求后响应函数
 xmlObj.onreadystatechange=function() {
 // 完成响应
 if(xmlObj.readyState==4) {
 // 状态正常
 if(xmlObj.status==200) {
 // 设置xmlResult为搜索结果XML文档
 xmlResult=xmlObj.responseXML;
 // 调用AjaxShowResult()显示搜索结果
 AjaxShowResult();
 }
 }
 }
 // 发送请求,内容为搜索的关键字
 xmlObj.send("searchword="+searchword);
}
 
function AjaxShowResult() {
 var results,i,strTemp;
 // 获取搜索结果集合
 results=xmlResult.getElementsByTagName("result");
 // 用无序列表来显示搜索结果
 strTemp="
";
 // 显示搜索结果
 document.getElementById("search_result").innerHTML = strTemp
}
源程序:
ajaxsearch.rar