Ajax: Asynchronous JavaScript and XML 异步的JavaScript和Xml。
简而言之,XMLHttpRequest为运行在浏览器中的JavaScript提供了一种在页面之内与服务器通信的手段。页面内的JavaScript可以在不刷新页面的情况下,从服务器获取数据,或者像服务器提交数据。而在这个技术之前,浏览器向服务器提交数据只能通过HTML表单的提交,从服务器获取数据只能通过一个超链接,这些操作一般都会带来一次全页面的刷新。
每个页面上都包括有一些实用JavaScript开发的Ajax组件,这些组件使用XMLHttpRequest对象,以异步的方式,就是不需要打断用户操作的后台方式,与服务器进行通信:
因此,Ajax应用于传统Web应用的区别主要在于三个地方:
1.不刷新整个页面,在页面内与服务器通信
2.使用异步的方式与服务器通信,不需要打断用户的操作,具有更迅速的响应能力。
3. 应用仅有少量的页面组成,大部分交互在页面之内完成,不需要切换整个页面。
Ajax的重点在于XMLHttpRequest对象。
不同版本的 IE 浏览器采用不同方式创建 XMLHttpRequest 对象,某些旧版本使用 Microsoft.XMLHTTP ,而较新的版本则使用 Msxml2.XMLHTTP 。通常,为了保证 Ajax 程序的浏览器兼容性,需要注意创建XMLHttpRequest 对象的程序,要同时支持这两种创建方式。
XMLHttpRequest对象属性:
readystate返回当前XMLHttpRequest的请求状态,这些数据用长度为4的整型数据表示:
XMLHttpRequest对象的方法,及其含义
方法 abort 的语法为: http_request.abort(); 调用此方法,当前请求返回 UNINITIALIZED 状态。
-----------------------------------------------------------------------------------------------------------
open方法的 true参数表示是否是异步。如果设置成false,比如说,在服务器servlet那里,设置等待5秒再返回结果,那么如果设置成false的情况下,那个按钮就一直是灰色的,不能按,直到五秒之后。这也背离的Ajax的目的,所以都是设置成true。
XMLHttpRequest的定义最好写在外面,刚开始定义成null、false等都行。