AJAX初体验之实战篇——打造博客无刷新搜索

2019-09-14 07:35:47王振洲


IF Search_Word<>Empty Then

    ' 创建查询SQL语句

    sqlSearch="SELECT log_ID,log_Title,log_Content FROM blog_Content WHERE log_Title"_

&" LIKE '%"&Search_Word&"%' AND log_IsShow=True ORDER BY log_ID DESC"

    ' 打开记录集

    rsSearch.open sqlSearch,Conn,1,1

    ' 如果没有搜索结果就产生一个结果,logid为#,标志着没有搜索结果

    IF rsSearch.BOF AND rsSearch.EOF Then 

        XML_Result=XML_Result&"<result><logid>#</logid><logtitle /></result>" 

    End IF

    ' 循环输出搜索结果

    Do While Not rsSearch.EOF

        XML_Result=XML_Result&"<result><logid>"&rsSearch("log_ID")&"</logid><logtitle><![CDATA["&rsSearch("log_Title")&"]]></logtitle></result>"  ' 循环输出每一个结果

        rsSearch.MoveNext

    Loop

Else

    ' 关键字为空,则返回无搜索结果

    XML_Result=XML_Result&"<result><logid>#</logid><logtitle /></result>"

End IF

XML_Result=XML_Result&"</blogsearch>"

' 设置MIME Type为XML文档

Response.ContentType = "application/xml"

'Response.CharSet = "utf-8"

' 输出搜索结果

Response.Write(XML_Result)

%>

有了后台搜索结果输出的部分,就可以开始写前台搜索的部分了。
首先需要的是给用户输入搜索关键字及显示搜索结果的地方,我用div来分别显示这两个部分:
ajaxsearch.htm

<!-- 要用到JavaScript,外部链入 -->

<script type="text/javascript" src="ajaxsearch.js"></script>

<!-- 用户输入部分 -->

<div>

    <!-- 因为没有用form,所以要处理input的keydown事件。在用户按下回车后搜索 -->

    <input type="text" id="searchword" onkeydown="if(event.keyCode==13) AjaxSearch();" /> 

    <!-- 搜索按钮 -->

    <input type="button" onclick="AjaxSearch();" value="搜索" />

</div>

<!-- 搜索结果显示部分 -->

<div id="search_result">