AJAX技术与应用浅析
发布时间:2020-12-16 00:40:35 所属栏目:百科 来源:网络整理
导读:AJAX(asynchronous javascript and xml)技术本质是浏览器内置的XMLHttpRequest对象,主要用于异步地向服务 器发 送请求,接收服务器返回的数据并局部更新页面,如表单的验证提示等。整个过程页面无刷新,不打断用户的操 作, 增强了用户的体验。 一、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")即可。
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |