AJAX技术与应用浅析

AJAX(asynchronous javascript and xml)技术本质是浏览器内置的XMLHttpRequest对象,主要用于异步地向服务器发

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

增强了用户的体验。

一、AJAX对象的获取

AJAX对象的获取要区分浏览器。
浏览器为IE类型的获取的方式: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")即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值