首页 > 代码库 > Ajax基础

Ajax基础

Ajax:异步加载页面内容的技术

使用Ajax就可以做到只更新页面的一个小部分。

主要优势就是对页面的请求以异步方式发送到服务器。而服务器不会用整个页面来响应请求,它会在后台处理请求,与此同时用户还能继续浏览页面并与页面交互。

Ajax有自己的适用范围。它依赖Javascript,所以可能会有浏览器不支持它,而搜索引擎的蜘蛛程序也不会抓取到有关内容。

 

XMLHttpRequest对象

Ajax技术的核心就是XMLHttpRequest对象。

这个对象充当着浏览器中的脚本(客户端)与服务器之间的中间人的角色。以往的请求都由浏览器发出,而Javascript通过这个对象可以自己发送请求,同时也自己处理响应。

 

在IE中创建新的对象要使用代码:

技术分享

其他浏览器则基于XMLHttpRequest来创建新对象:

技术分享

getHTTPObject.js中的getHTTPObject函数这样写:

技术分享

getHTTPObject通过对象检测技术检测了XMLHttpRequest。如果失败,则继续检测其他方法,最终返回false或一个新的XMLHttpRequest(或者XMLHTTP)对象。

这样,在你的脚本中要使用XMLHTTPRequest对象时,可以将这个新对象直接赋值给一个变量:

 var request=getHTTPObject();

XMLHTTPRequest对象有许多方法,其中最有用的open方法,它用来制定服务器上将要访问的文件,指定请求类型:GET、POST和SEND。这个方法的第三个参数是用于指定请求是否以异步方式发送和处理。

 

服务器在向XMLHttpRequest对象发回响应的时候,该对象有许多属性可以用,浏览器会在不通阶段更新readyState属性的值,它有5个可能的值:

0表示未初始化

1表示正在加载

2表示加载完毕

3表示正在交互

4表示完成

只要readState属性的值变成了4,就可以访问服务器发送回来的数据了

 

 

 Hijax;渐进增强地使用Ajax。

Ajax应用主要依赖于服务器端处理,而并非客户端处理。

 

Ajax基础