AJAX搜索引擎研究

2024-05-14

AJAX搜索引擎研究(精选三篇)

AJAX搜索引擎研究 篇1

在很多有搜索功能的网站和系统中, 我们在搜索时常会见到一些关键字的提示, 以及大概搜索结果的提示, 这样做事为了让搜索者知道哪些关键字是比较热门的, 并可以预先知道搜索到的大概结果数目, 我们熟知的搜索引擎Google和Baidu都提供了搜索提示的功能, 在国内执行的C2C和B2B的电子商务平台淘宝网 (www.taobao.com) 上, 也提供了搜索提示的功能, 让搜索者可以预先知道自己输入的关键字是否范围太大, 从而可以通过增加关键字来缩小搜索的范围。这些关键字都是从所有的搜索者的搜索过程中搜集来的, 所以也可以得知哪些产品或信息是近期比较热门的, 在网站中搜索提示功能采用利用Ajax技术实现, 让用户可以在不刷新页面的前提下就可以获得搜索的信息。

二、前台页面设计

搜索的前台页面设计相对比较简单, 主要在页面上添加一个待输入信息的文本框和搜索提交按钮, 以下是实现页面的设计的主要源码文件。

三、数据库设计

设计数据库用于保存关键字的相关信息, 这里采用ACCESS数据库为例来存放搜索关键字信息, 使用其他数据库存放基本一致。在系统中创建search.mdb数据库, 并在数据库中创建关键字信息表tbkeywordInfo, 具体表的设计结构如下表所示。

四、搜索提示核心代码实现

首先需要编写服务器端代码实现从数据库中检索用户输入的关键字的相关信息。在服务器端代码中最关键的要获取由Ajax发送的参数作为查询的条件。在客户端的Ajax代码是实现搜索提示功能的关键代码, 以下是服务器端和客户端的核心代码。

创建服务器端窗体 (ajax Result.aspx) , 服务器端代码:

创建客户端javascript文件 (search.js) , Ajax客户端核心代码:

到此为止所有的文件和代码都编写完成, 只要在页面代码中包含编写的search.js文件即可实现搜索提示功能。

小结

利用Ajax技术实现了传统网页技术无法实现的搜索提示功能, 可见对Ajax技术应用得当会给用户带来更好的使用体验。

摘要:为了简化人们的操作以及提高检索信息的效率, 在用户输入需要检索的部分字符时系统会自动将相关匹配的信息以列表形式全部显示提供给用户选择。本文将介绍采用Ajax技术实现数据的异步通信并完成搜索提示功能, 给用户带来智能化的搜索体验。

关键词:检索信息,Ajax,异步通信

参考文献

[1]张银鹤.JSP动态网站开发实践教程[M].2版.清华大学出版社, 2009.

AJAX搜索引擎研究 篇2

研究了基于Ajax的异步WebGIS实现技术,并在ArcIMS平台上实现了基于Ajax的异步WebGIS应用.研究表明:Ajax技术与WebGIS结合,能够实现浏览器与地图服务器之间的异步交互,与传统的.WebGIS应用相比,减少了冗余,减轻了请求和响应对服务器造成的负荷,使整个WebGIS的性能达到最佳状态.

作 者:师俊峰 邹峥嵘 SHI Jun-feng ZOU Zheng-rong  作者单位:中南大学,信息物理工程学院,湖南,长沙,410083 刊 名:测绘与空间地理信息 英文刊名:GEOMATICS & SPATIAL INFORMATION TECHNOLOGY 年,卷(期): 32(2) 分类号:P208 关键词:Ajax   异步交互   WebGIS   B/S  

AJAX搜索引擎研究 篇3

关键词:Ajax;聊天室;异步交互

中图分类号:TP311.52 文献标识码:A文章编号:1007-9599 (2010) 04-0000-03

Research&Application on Ajax-based Chatroom

Wang Yan

(Beijing Economic Management School,Beijing100036,China)

Abstract:The rapid development of information technology to make profound changes in people's way of life.Dialogue between people is no longer confined to face-to-face manner,network chatrooms to exchange information to provide an alternative venue.Traditional real-time chatrooms to show online and send the message,the need to regularly refresh the page.Refresh the page should not only occupy a certain degree of system resources and network bandwidth,and a "black and white" phenomenon of good user experience is a negative.Ajax is a Web application of a new method, the use of Ajax technology development system of the chat room page refreshes not only solved the problem of bringing black and white,also can reduce server load and network transmission.This paper introduces the Ajax technology works to a platform for teachers and students - "EM chatrooms" as an example to describe the Ajax technology in the chat room system in the typical application process.

Keywords:Ajax;Chat room;Asynchronous interactive

一、引言

聊天室作为一个能够吸引人气的栏目,在现代网络应用中随处可见。它的作用是给不同的用户提供一个交流信息的场所。用户在聊天室中可以发布信息,就如同所有用户都在一个个真正室内聊天一样。

传统聊天室的程序一般都在客户端网页上设置自动刷新。以这种方法刷新数据会带来一些缺点,比如:对于服务器来讲,每次刷新都要重新获取数据,极大地增加了服务器的负荷,而这种刷新过程又是不断进行的,所以会很严重影响服务器的性能;同时,每次刷新的过程中会产生大量的无用数据;对于客户端的用户来讲,不断刷新页面会造成屏幕的闪动。解决屏幕闪动最重要的一条原则就是,将改动的地方显示到客户端,而那些不需要改动的地方则尽量不要让用户感觉到变化。一个比较好的解决方案就是采用Ajax技术实现无刷新的聊天室应用程序。

我于2008年自行开发的无刷新的聊天室程序----“EM聊天室”。EM是北京经济管理学(Economic managerment)校的缩写。当时担任毕业班的《就业指导课》,面临第一次走向社会的学生,他们表现出来的是波动性和迷惘性。他们渴望有人帮助他们分析所遇到的问题,教他们处理问题的方法,但是在实际中我发现很多学生羞于当面咨询老师,不敢与人交流,恐惧暴露自我的缺点。于是,我想搭建一个交流平台--网上聊天室,不仅可以消除他们的顾虑,而且起到了解决问题的作用。

本文对Ajax技术的工作原理进行了阐述,结合“EM聊天室”系统, 描述了Ajax技术在聊天室系统实现过程中的典型应用。

二、Ajax技术

(一)什么是Ajax

Ajax是“Asynchronous JavaScript and XML”的简称,即异步JavaScript和XML。Ajax事实上并不是一种新技术,实际上,它是由技术组合而形成的新的应用方法。

在基于Ajax的应用中,并不是所有技术全部用到,但是XMLHttpRequest对象却是实现Ajax技术的最核心技术。XMLHttpRequest对象负责将用户信息以异步通信的方式发送给服务器端,并接收服务器端返回的响应信息和数据。JavaScript本身并不能向服务器发送请求,可以有两种方法:一种是通过XMLHttpRequest对象发送请求,另一种是使用Widows.open()方法重新打开一个页面向服务器提交请求。不同的是,前者是异步交互方式,后者是同步交互方式。

(二)Ajax的工作原理

与传统的WEB模型相比,Ajax的运行是建立在异步交互的基础上的,异步交互的基本思想是尽量减少等待的时间。基于AJAX的WEB应用开发模型(如图1所示),只传输和更新需要的数据,而不用刷新整个页面,也就是通过网络传输的不是用户真正需要的数据,这样的工作模型不仅加快了用户请求的响应速度,还避免了刷新页面带来的屏幕闪烁。

异步访问和同步访问最大的差别是客户端使用了单独一个层来访问服务端,而和客户交互则全部在客户端解决了。如图1所示,基于Ajax的WEB应用开发模型在用户和服务器之间引入了一个中间件—Ajax引擎,它使用户操作与服务器响应异步化。当用户访问或请求一个具有Ajax功能的页面时,网页会将请求信息交给JavaScript进行处理,当需要提供新的信息时,通过XMLHttpRequest向服务端发送请求,服务端接受请求,根据要求访问数据库或XML文件,并将数据返还客户端的JavaScript程序进一步处理。

三、基于AJAX的聊天室的设计与实现

“EM聊天室”系统除了Ajax技术以外采用的是ASP.NET2.0技术,开发环境为VS2005,选择C#作为开发语言。

本实例比较精巧,具有以下特点:第一,我考虑到聊天室是一种“公共场所”,对消息的持久性要求不高,没有必要使用数据库,但是应该有简单的“记忆”功能,即查看以往的聊天记录,因此,将用户信息和聊天记录保存在聊天引擎ChatEngine里;第二,Server.aspx来统一接收用户的请求,是一个中央处理器;第三,使用Ajax发送消息,取得用户和消息数据,隐藏更新页面。这样,通过少量的文件实现整个聊天室的功能。

(一)系统功能结构

“EM聊天室”系统功能主要包括:用户登录、发送聊天信息、显示聊天记录、存储聊天记录、显示在线用户列表等。结合Ajax的工作原理,给出“EM聊天室”的功能模块,如图4所示。

(二)基于Ajax聊天室的实现

“EM chatroom”聊天室程序的设计中Ajax技术贯穿于聊天室系统的各个功能模块。

1.客户端的实现。

客户端实际就是Ajax技术的实现,即聊天室的首页和聊天室主界面。最典型的应用为聊天室主界面的实现。聊天室主界面主要包括显示聊天内容、在线用户列表和输入信息区域进行在线聊天的功能。

“EM chatroom”聊天室程序主页界面如图5所示,实现它的文件名为Chat.aspx,通过调用captureReturn()、sniffBrowserType()、showLoadScreen()、setTimers()函数来实现上述三个功能。captureReturn()函数功能是判断用户输入的聊天记录,如果按下回车键,则说明一条信息输入完毕。在captureReturn()函数中调用了PostText()函数,用于获得用户输入的聊天信息,创建的XMLHttpRequest对象发送异步请求,并显示结果。PostText()函数中又调用了updateAll( )函数是更新所有的聊天记录和用户列表。sniffBrowserType()函数用于判断客户端在打开网页时使用的浏览器类型。setTimers()功能是设置间隔一段时间就刷新一次。

2.公共模块。

为了实现无刷新技术,在聊天室中要求用户聊天时不需要整个页面刷新即可查看聊天记录,而且在发送消息时也是如此。

当用户输入聊天内容进行发送时,使用Ajax方法来发送请求,包括发送信息、取得消息列表、获取用户列表三个过程。在“EM chatroom”聊天室程序中实现Ajax技术的核心代码主要是Ajaxfunction.js文件,它位于站点目录的js文件夹下。它主要包括的函数是:getAjax()函数实现创建XMLHttpRequest对象;sniffBrowserType()函数实现获得用户使用浏览器的类型;captureReturn()函数是一个辅助性函数,就是判断用户是否单击了回车键;postTest()函数用来发送消息文本。消息的内容来源于用户输入文本框对象;setTimers()函数是实现重新设置更新页面的刷新周期的功能;UpdateAll()函数主要是负责更新界面,包括消息列表区域和在线用户列表区域;getUserList()函数是实现更新用户列表的功能;getBufferText()函数是实现更新消息列表的功能。

3.服务器端功能的实现。

聊天室的服务器端主要是处理客户端发送的请求,并将处理的结果返回。本实例把服务器端实现的功能集中在文件Server.aspx.cs中。它负责接收用户的请求,返回用户请求的数据。其操作的对象是一个聊天引擎ChatEngine。聊天引擎ChatEngine是一个数据中心,它负责保存用户信息、消息列表的信息。

它包括增加用户、删除用户、增加聊天记录、显示聊天记录等函数。

从“EM聊天室”主界面中调用Server.aspx有三次,分别是发送聊天信息、取得用户列表、取得消息列表。函数processPostMsg( )作用是根据客户端传来的用户名和该用户发送的聊天信息,调用AddText()函数将消息添加到聊天室。函数processGetMsg()作用是将信息显示出来。函数processUserList()作用是显示用户列表。

四、结束语

Ajax技术的出现,通过对浏览器端的JavaScript和服务器异步通信的组合,使得构建更为动态和响应更灵敏的Web应用程序成为现实。“EM聊天室”,结合Ajax技术来实现能大大降低了服务器的开销并节省了网络带宽。由于客户端与服务端采用异步交互的方式,用户无须等待服务器的处理结果仍可以继续其他操作,减少了用户等待的时间,使界面操作更自然、流畅。虽然在国内对Ajax的应用还处于起步阶段,但是随着Web应用的发展,AJAX技术将会得到更加广泛的应用。

参考文献:

[1]张蓓.ASP.NET通用模块及典型系统开发实例导航.北京人民邮电出版社,2006 [2]ASP.NET Ajax网站开发从入门到精通

[3]杨国瑞,张思博.基于AJAX的Web应用架构设计,现代电子技术,2006

[4]黄昆.Ajax,老技术聚合新能量.中国计算机用户,2006

上一篇:AdHoc路由协议下一篇:政治课中的案例教学