AJAX
what: 一种改善客户端体验的技术。本质上就是在客户端使用js代码,通过浏览器中一个特殊的对象(XMLHttpRequest)异步(浏览器不会销毁当前的页面,客户可以在页面继续其他的操作而不被打断)的向服务器端发送请求,服务器端返回的是部分数据(可以是文本,xml,json),客户端接收到数据后,使用js将数据更新到页面中。整个过程没有页面的整体刷新,只是使用js进行局部刷新,用户操作不会被打断。
得到XMLHttpRequest对象之后,就可以编写回调事件处理函数了。
var xhr=getXhr(); xhr.onreadystatechange=function(){ //这儿编写用户自定义处理函数, xhr的状态值有5种, 0,1,2,3,4 //这儿我们最关心的状态值是4 ,onreadystatechange函数中会触发2,3,4三种状态值 alert(xhr.readyState);//那么我们可以看到3中状态值,2,3,4 } js代码:
在tomcat的conf目录下,找到server.xml中找到Connector 节点,添加属性 URLEncoding="utf-8" post请求 xhr.open('post','ajax.do',true); // 普通的post请求可以直接这样使用 //如果需要像 HTML 表单那样 POST 数据,请使用 setRequestHeader() 来添加 HTTP 头。然后再send() 方法中规定您希望发送的数据: xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
post请求中文问题:
a. 在页面使用mate元素设置字符编码 b. 服务器端,使用request.setCharactorEncoding("UTF-8"); 创建请求 get请求:xhr.open('get','check_name.do?name=zs',true); post请求: xhr.open('post','checkname.do?name=zs',true); xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");