7.5 Ajax异步更新

Ajax的全称是 Asynchronous JavaScript and XML(异步的 JavaScript 和 XML),其中异步是什么意思呢?既然有异步,是不是也有同步? 首先来了解异步这个概念,先来一个对比,传统的提交网页,点击链接跳转导致网页内容变化的,就是同步更新。所谓的同步就是发送http请求,远端服务器应答,然后发回html代码,然后浏览器解析,再显示,这个过程从你发送请求(提交,刷新,点击链接跳转)开始,到页面全部载入,你是不能做任何事情,只能等它完成。 而异步就是你发出请求后,页面是不会锁住的,你可以继续浏览别的内容,同时服务器返回的也不是所有页面的html代码,而是需要更新的内容,再更新到页面去。例如有些网页右上角的登录,输入账号密码登录完页面的整体不需要刷新,仅仅是右上角的登录框变成了“xxx,欢迎你” jQuery对于ajax请求,有一个比较简洁的代码:
function checkUser(){
    $.ajax({
        type:"GET",url:"test.jsp",data:{
            types:"userVali",name:userName        }
        ,success:function(msg){
            //成功执行后调用的javascript代码,msg是服务器发回来的内容
        }
    }
    );
}
}
type:get还是post方式发送数据 url:http服务器的url,一个jsp或者servlet的名称 data:要发送的数据,按照“名称-值”这样的对来发送。types : "userVali"的意思就是这个数据的名字是types,它的值是 "userVali"。name : 数据的名字是name,它的值是变量userName的值。 success:回调函数,http执行成功后才运行的函数。 现在我们来看看test.jsp应该有什么关键代码
String type=request.getParameter("types");
String name=request.getParameter("name");
//执行计算,例如到数据库里查询
//发送应答结果
out.println("good");
这里的test.jsp总是发送good回去,也就是上面回调函数的参数msg的值是“good”。