您的位置:首页 > 其它

AJAX技术与应用浅析

2014-02-28 22:39 204 查看
AJAX(asynchronous javascript and xml)技术本质是浏览器内置的XMLHttpRequest对象,主要用于异步地向服务器发

送请求,接收服务器返回的数据并局部更新页面,如表单的验证提示等。整个过程页面无刷新,不打断用户的操作,

增强了用户的体验。

一、AJAX对象的获取

AJAX对象的获取要区分浏览器。
浏览器为IE类型的获取的方式:
4000
new ActiveXObejct('Microsoft.XMLHttp');
浏览器为非IE类型的获取的方式:new XMLHttpRequest()。

二、AJAX对象常用的属性

1、onreadystatechange:绑订一个事件处理函数,该函数用来处理readystatechange事件(

当readyState的值发生了改变,比如,从0变成1,就会产生该事件)。
2、readyState:有5个值,分别是0,1,2,3,4,表示ajax对象与服务器进行通信的一种状态。

比如,4表示ajax对象已经获得了服务器返回的所有的数据。
3、responseText:获得服务器返回的文本。
4、responseXML:获得服务器返回的xml文档。

5、status:获得服务器返回的状态码。

三、应用案例(表单验证)

1、获取AJAX对象的方法getXhr()



2、发送get请求的验证代码



3、发送post请求的代码



4、服务器端Servlet代码





5、总结
AJAX对象给服务器发送不同的请求方式(get/post)时,需解决编码问题以避免乱码,出现乱码的原因和解决方式如下。
1)get请求发生乱码的原因
IE浏览器提供的ajax对象在发送请求时使用"gbk"对含有中文的请求参数进行编码。非IE浏览器使用"utf-8"进行编码。服
务器端默认情况下,会使用"iso-8859-1"进行解码。
2)get请求解决乱码的方法
step1,让服务器使用指定的字符集解码。比如,可以修改tomcat的server.xml文件(conf/server.xml),在connector项中
添加URIEncoding="utf-8"即可
step2,使用encodeURI函数(js内置的函数,会使用"utf-8"进行编码)对请求参数进行编码。encodeURI(String params)。
3)post请求发生乱码的原因
所有浏览器提供的ajax对象都会使用"utf-8"对中文参数进行编码。服务器端默认情况下,会使用"iso-8859-1"进行解码。
4)post请求解决乱码的方法
在处理请求的Servlet程序中添加request.setCharacterEncoding("utf-8")即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ajax