JavWeb——Ajax
Ajax简介
同步现象:客户端发送请求到服务器端,当服务器返回响应之前,客户端都处于等待 卡死状态
异步现象:客户端发送请求到服务器端,无论服务器是否返回响应,客户端都可以随 意做其他事情,不会被卡死
Ajax的运行原理
页面发起请求,会将请求发送给浏览器内核中的Ajax引擎,Ajax引擎会提交请求到 服务器端,在这段时间里,客户端可以任意进行任意操作,直到服务器端将数据返回给Ajax引擎后,会触发你设置的事件,从而执行自定义的js逻辑代码完成某种页面1 功能。
JQuery的Ajax
其他的看这里
$('#i1').click(function(){ // 绑定一个事件 $.ajax({ // $.ajax(里面是一个字典) async:true, // 是否异步,默认为true url: '/ajax_edit', // 要发送到的url type: "POST", // 以post的方式发送 data: $('#add_form').serialize(), // 打包form里所有的东西 发送,但要在提交的form表单上写id、class内写东西来绑定 // data: {'user': 123,'host_list': [1,2,3,4]}, dataType: 'JSON', // 每次后端发送的都是字典转成的字符串,每次都要转码太麻烦,所以写上这个ajax内部就帮我们转码 traditional: true, // 传输列表[1,2,3,4]时要写上 success: function(obj){ // 回调函数,执行成功后自动触发这个函数 location.reload(); // jQuery下的 刷新页面 }, error: function () { // 发送请求,如果后台没抓到时执行 } }) });
后端响应
// 构造字典格式数据(前端通过dat.XXX来获取值) String json = "{\"isExist\":"+isExist+"}"; // 将数据传到前端 response.getWriter().write(json);
Json的转换插件
将java的对象或集合转成json形式字符串
json的转换插件是通过java的一些工具,直接将java对象或集合转换成json字符串。
常用的json转换工具有如下几种:
- 1)jsonlib
- 2)Gson:google
- 3)fastjson:阿里巴巴