在Web开发中,我们经常听到反应迅速、动态更新数据的Ajax技术。Ajax是一些列的技术组成的解决方案,能够联动多种平台和技术,处理异步数据通信,数据交换,管理内容传输和显示。其字母意义是Asynchronous JavaScript and XML(异步JavaScript和XML),它可以与后台服务器进行数据的异步通信,从而避免页面刷新并动态更新数据。
但Ajax并非一种新技术,其核心实现原理是通过JavaScript和DOM等技术手段,实现局部刷新,快速更新Web页面信息,提高用户体验。要理解Ajax的实现原理,就需要了解以下几个方面的内容。
一、HTTP协议
HTTP协议(Hyper Text Transfer Protocol)是Web浏览器和Web服务器提供信息交换的基本协议。HTML里的一个网站上的链接,并不是直接将文档从远程服务器传递到浏览器中,而是先从浏览器到服务器的链接。每次请求都必须传递完整的头信息,这样频繁的数据交换会导致页面刷新变慢等问题。这也是Ajax技术引发的。它使用的是HTTP GET或POST方法,通过异步请求网页服务器获得特定的内容。
二、XMLHttpRequest对象
要使用Ajax技术,就需要掌握XMLHttpRequest对象。XMLHttpRequest是一个可以向服务器请求数据的 JavaScript 对象,也是使用 Ajax 的关键对象。对象初始化后,通过它可以完成异步请求,获取服务器返回数据。XMLHttpRequest 对象有如下属性和方法:
1、onreadystatechange属性: 当 XMLHttpRequest 对象的状态改变时,这个函数被调用。
2、open(method,url,async): 规定请求的类型、URL以及是否异步处理请求。
3、send(string):向服务器发送请求。
4、readyState属性:存有 XMLHttpRequest 的状态。从 0 到 4 发生变化。0: 请求未初始化;1: 服务器连接已建立;2: 请求已接收;3: 请求处理中;4: 请求已完成,且响应已就绪。
5、status属性:服务器返回的 HTTP 状态码。
三、JavaScript和DOM的操作
1、JavaScript:JavaScript是创建Ajax的基础,通过Ajax调用服务器数据,实现局部刷新和数据的异步传输。在连续不断的执行JavaScript过程中,可以更新DOM节点,通过DOM可以控制HTML文档不同元素的控制和编辑。
2、DOM:DOM(Document Object Model)表示文档对象模型,即浏览器生成的DOM树。 HTML元素被定义为对象,就像树中的节点一样。在运行代码之前,所有的HTML元素都在浏览器的内存中被作为对象创建。操作DOM节点可以更加便捷地提取这些元素的值并且显示在Web页面上。通过JavaScript的动态处理,实现对页面部分内容进行更新,而不是整个页面的刷新。
四、服务器端程序语言
大家在开发的过程中可以自己编写服务器端程序语言,也可以使用现成的,如PHP、ASP.NET、JSP等等。在这些程序语言中,一般会使用适当的库文件和解码器解析请求,并将相应的数据返回给客户端。通过服务器端程序语言可以控制Ajax的请求和响应。
以上就是掌握Ajax原理的实现原理,在分别掌握以上几点后,本着具体问题具体分析的原则,可以有更好的应用。Ajax核心在于请求服务器,但不会使网页刷新。通过局部载入内容的方式,将所需数据载入后,使用JavaScript的DOM操作,将载入的内容动态地更新到网页上,从而实现页面数据的动态展示。因此,要想精通Ajax,就必须深入理解原理,并不断实践。