| 加入收藏| 设为首页| 联系我们

首页 站长学习 站长之家 源码下载 建站素材 书籍教程 常用工具
 您现在的位置: 动力中国 >> 网络编程 >> Ajax教程 >> 文章正文  
 使用AJAX技术打造博客无刷新搜索引擎
 

使用AJAX技术打造博客无刷新搜索引擎

http://www.domcn.org  文章来源:本站收藏  点击数:

  关键字:使用AJAX技术打造博客无刷新搜索引擎

现在博客很流行,相信应该上网时间稍微长点的朋友都会在这或者在那的有一个自己的博客。对于一些有一定能力的朋友,可能更喜欢自己去下载一个博客程序来架设一个自己的博客,而不是使用一些博客网站提供的服务。而大部分博客程序所带的搜索功能是提交查询关键字到搜索页面,然后在后台生成搜索结果,再呈现给用户,这过程之中浪费了一些带宽,如博客的侧边栏。要节约这一些带宽,我们可以用AJAX来打造自己的无刷新日志搜索。

在本篇教程中,数据库的表名和日志查看页面以L-Blog为例,因为我的博客程序是从L-Blog修改而来。

本教程中的例子已经通过实际测试,可以直接在L-Blog或FBS中使用。当然,要真正应用的话还是需要做一些美化及完善的。

在数据库中日志内容数据表名为blog_Content,其中日志ID为log_ID,日志标题为log_Title,日志查看页面为blogview.asp,参数为日志logID。有了这些资料,就可以开始创建搜索结果的XML文档模板了。在显示搜索结果时,需要显示日志的标题,以及日志的ID来创建到查看日志的链接。

搜索结果模板sample.xml

CODE:
<?xml version=1.0 encoding=utf-8?>
<blogsearch>
    <!-- 每一个reslut就是一个搜索结果 -->
    <result>
        <!-- 日志的ID -->
        <logid>1</logid>
        <!-- 日志的标题 -->
        <logtitle>AJAX初体验之上手篇</logtitle>
    </result>
</blogsearch>


每个result就是一个搜索结果,为了处理没有找到相关内容的情况,我定义了当搜索结果为空时logid为#。
在完成XML文档模板之后,就可以用ASP来动态生成搜索结果需要的XML文档了。搜索的关键字采用POST方式来传递。

搜索结果输出ajaxsearch.asp

CODE:
<!-- #include file=commond.asp -->
<!-- #include file=include/function.asp -->
<%
commond.asp为数据库连接文件
function.asp中有要用到的函数CheckStr
Dim Search_Word,XML_Result,rsSearch,sqlSearch
Set rsSearch=Server.CreateObject(ADODB.RecordSet)
获取搜索关键字
Search_Word=CheckStr(Trim(Request.Form(searchword)))
XML文档头
XML_Result=<?xml version=1.0 encoding=utf-8?><blogsearch>
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> 
    循环输出搜索结果
    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

CODE:
<!-- 要用到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>
    <!-- 初始时提示用户输入搜索关键字 -->
    <ul><li>请输入关键字</li></ul>
</div>


使用AJAX技术打造博客无刷新搜索引擎
  • 上一篇文章:

  • 下一篇文章:
  •  热门文章
    普通文章 电子邮件改头换面 四公司畅谈未
    普通文章 PC病毒史上最声名狼藉的八大病
    普通文章 Rails系统中的AJAX开发技术简析
    普通文章 基于ASP.NET AJAX框架实现表单
    普通文章 开发ASP.NET AJAX客户端定制行
    普通文章 用JFreeChart对JSP报表进行增强
    普通文章 SQL Server 2005上的CLR和ADO.
    普通文章 SQL Server 2005的XML支持机制
    普通文章 Firefox中标签式浏览技巧大全
    普通文章 Tomcat中的Session和Cookie大揭
     
     推荐文章
    推荐文章 把Google地图嵌入网页 就是这么
    推荐文章 迅雷搜索候选资源出错的解决
    推荐文章 轻松去除迅雷里的各种广告和资
    推荐文章 突破限制 免费领养到QQ空间五级
    推荐文章 Rational统一过程RUP贴近中小软
    推荐文章 构建自己的轻量级XML DOM分析程
    推荐文章 WPS Office 2007技巧:妙用配置
    推荐文章 Excel 2007:求余数函数实用进阶
    推荐文章 浅谈ASP.NET的Postback
    推荐文章 软件开发中项目需求管理简述
     
     相关文章
    没有相关文章
    设为首页 | 加入收藏 | 广告合作 | 联系站长 | 版权申明 |
    动力中国为网友提供免费学习资料,可用资源,如果您认为我们的相关内容侵害到了您的权利请联系管理员
    Copyright © 2006-2008 domcn.org All Rights Reserved.