AJAX(asynchronous Javascript And XML),是指一种建立交互式网页应用的网页开发技术。主要经过后台与服务器进行少许数据交换,实现异步更新。AJAX的核心是JavaScript对象XMLhttpRequest。javascript
XMLHttpRequest对象能够在不向服务器提交整个页面的状况下,实现局部更新网页。当页面所有加载完毕后,客户端经过该对象向服务器请求数据,服务器端接受数据并处理后,向客户端反馈数据。 XMLHttpRequest 对象提供了对 HTTP 协议的彻底的访问,包括作出 POST 和 HEAD 请求以及普通的 GET 请求的能力。XMLHttpRequest 能够同步或异步返回 Web 服务器的响应,而且能以文本或者一个 DOM 文档形式返回内容。尽管名为 XMLHttpRequest,它并不限于和 XML 文档一块儿使用:它能够接收任何形式的文本文档。XMLHttpRequest 对象是名为 AJAX 的 Web 应用程序架构的一项关键功能。java
对于不一样的浏览器,使用不一样的方法来建立XMLHttpRequest对象。IE使用ActiveXObject,而其余浏览器使用名为XMLHttpRequest的javascript内建对象。要克服各个浏览器的差别,可使用以下一段简单的代码:浏览器
var XMLHttp=null; if (window.XMLHttpRequest) { XMLHttp=new XMLHttpRequest() }else if (window.ActiveXObject) { XMLHttp=new ActiveXObject("Microsoft.XMLHTTP") }XMLHttpRequest五个状态:
HTTP请求的状态,但一个XMLHttpRequest除此建立时,readyState属性的值从0开始,直到接收完整的HTTP响应,这个值增长到4,每个状态都有一个相关联的非正式的名称,以下所示:服务器
状态 | 名称 | 描述 |
0 | Uninitialized | 初始化状态,XMLHttpRequest对象已建立或已被abort()方法重置 |
1 | Open | open()方法已调用,可是send()方法未调用。请求尚未被发送。 |
2 | Send | Send()方法已调用,HTTP请求已发送到WEB服务器,未接收到响应 |
3 | Receiving | 全部响应头部都已经接收到。响应体开始接收但未完成 |
4 | Loaded | Http响应已彻底接收 |
1.不一样浏览器中,对象创建方式不一样。架构
2.设置回调函数时,不要在函数名后面加括号。异步
3.Open方法最多有五个参数,其中前三个是必须的async
4.回调函数中,最好将判断readyState和status的两个if条件分开写。函数
5.当前服务器端没有正确返回XML数据时,在javascript中使用responseXML的方式获取返回的xml数据对应的DOM对象时,FireFox和IE的结果是有差异的。
刚刚接触AJAX,简单的从宏观上作个总结,在深一步的结束后,在作完善。若有错误,欢迎指出!!
spa
版权声明:本文为博主原创文章,未经博主容许不得转载。code