AJax原理: 运用XHTML+CSS来表达信息 运用JavaScript操作DOM(Document Object Model)运行动态效果 运用XML和XSLT进行数据交换及操作 运用XMLHttpRequest为Agent与网页服务器进行异步数据交换 运用Javascript技术实现
AJax的优点:
1、不需要任何浏览器插件,在任何支持Javascript的浏览器上运行
2、优势的用户体验
3、提高Web程序的性能(Ajax模式只是通过XMLHttpRequest对象向服务器端提交希望提交的数据)
4、减轻服务器和宽带的负担
Ajax的缺点:
1、它可能破坏浏览器后退按钮的正常行为
2、对搜索引擎的支持不足
3、开发和调试工具缺乏
4、手持设备支持性能差
AJax的核心是XMLHttpRequest对象,AJax通过它来发送异步请求、接收响应及执行回调 XMLHttpRequest对象的属性如下: 1、readyState:Http请求的状态,当一个XMLHttpRequest初次创建时,这个属性的值从0开始,直到接收到完整的HTTP响应,这个值增加到4
2、responseText:从服务器端接收到的响应体,或者是还没有接收到的数据,就是空字符串
3、responseXML:对请求的响应,解析为XML并作为Document对象返回
4、status:由服务器返回的HTTP状态代码,如200,404;
5、statusText:这个属性用名称而不是数字指定了请求的HTTP的状态代码,当状态代码为200时,它是“OK”
XMLHttpRequest对象的方法如下:
1、abort():取消当前响应,关闭连接并且结束任何未决的网络活动,这个方法把XMLHttpRequest对象的readystate属性重置为0的状态
2、getAllResponseHeaders():把HTTP响应头部作为未解析的字符串返回,如果readyStat于3,这个方法返回null
3、getResponseHeader():返回指定的HTTP响应头部的值,其参数是要返回的HTTP响应头部的名称
4、open():初始化HTTP请求参数,语法:open(method,url,async,username,password),参数说明:method:是用于请求HTTP方法,url:参数是请求的主体,async:参数指示请求使用应该异步的执行,如果这个参数是false,请求时同步的
5、username和password参数是可选的,为url所需的授权提供认证资格,这个方法初始化请求参数以供send()方法稍候使用
6、send()发送HTTP请求,使用传递给open()方法的参数,以及传递给该方法的可选请求体,如果之前调用的open()参数async为false,这个方法会阻塞并不会返回,如果为true,或者这个参数省略了,send()立即返回
7、setRequestHeader()向一个打开但未发送的请求设置或添加一个Http请求,语法:setRequestHeader(name,value),参数说明:name参数是要设置的头部的名称,这个参数不应该包括空白、冒号或换行,value参数是头部的值,这个参数不应该包括换行