SpringMVC框架下使用jQueryAJAX进行数据交互
来源:互联网 发布:整形医院网络咨询招聘 编辑:程序博客网 时间:2024/06/12 18:58
1、Controller部分
在SpringMVC中可以使用@ResponseBody将对象转换为转化为json格式数据
@RequestMapping("/getSomething2") @ResponseBody() public ChartData getSomething2(HttpServletRequest request,String name,Integer value){ ChartData cd = new ChartData(name,value); return cd; } @RequestMapping("/index") public String index(HttpServletRequest request){ String json = request.getSession().getServletContext().getAttribute("chartdata").toString(); request.setAttribute("data", json); return "index"; }
2、页面部分
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><script type="text/javascript" src="../js/jquery-1.4.4.min.js"></script><link rel="stylesheet" href="../css/default.css"><title>Insert title here</title></head><body><div class="maindiv" ><span id="text1"></span><br><span id="text2"></span><div id="sundiv" ></div></div><input type="button" id="btn1" value="点我" class="btn"></input><input type="button" id="btn2" value="点我" class="btn"></input><input type="button" id="btn3" value="点我" class="btn"></input><input type="button" id="btn5" value="点我" class="btn"></input><input type="button" id="btn4" value="点我" class="btn"></input><br><div id="loaddiv"></div></body><script type="text/javascript">$(document).ready(function() {var options = {success : showResponse, // post-submit callback dataType : 'json',url:'../ajax/getSomething2',data:{name:"Suarez ",value:"199"}};//jQuery.ajax()$('#btn1').click(function(){$.ajax(options);});//jQuery.get()$('#btn2').click(function(){$.get('../ajax/getSomething2',{name:"Messi",value:"2000"},function(data){$('#sundiv').empty();$('#text1').html('$.get:'+data.name+' and '+data.value);});});//jQuery.post()$('#btn3').click(function(){$.post('../ajax/getSomething2',{name:"Neymar",value:"3000"},function(data){$('#sundiv').empty();$('#text1').html('$.post:'+data.name+' and '+data.value);});});//jQuery.load()$('#btn4').click(function(){$('#sundiv').load('../ajax/index',function(){$('#text1').html('$.load:mlxp');});});//js原生AJAXvar oBtn = document.getElementById("btn5"); oBtn.onclick = function(){ { //1.创建ajax对象 //只兼容非ie6的浏览器,在ie6浏览器上运行会提示没有被定义 //var oAjax = new XMLHttpRequest();//这才是ajax实际的请求 //alert(oAjax); //ie6浏览器下按照下面方法写,但是在别的浏览器中不能用,会报错。 //var oAjax = new ActiveXObject("Microsoft.XMLHTTP"); //alert(oAjax); //鉴于上面出现的问题,可以采取下面的方法解决,用if判断是否为IE6浏览器 if(window.XMLHttpRequest)//如果有XMLHttpRequest,那就是非IE6浏览器。()里面加window的原因下面会有描述。 { var oAjax = new XMLHttpRequest();//创建ajax对象 } else//如果没有XMLHttpRequest,那就是IE6浏览器 { var oAjax = new ActiveXObject("Microsoft.XMLHTTP");//IE6浏览器创建ajax对象 } //2.连接服务器 //open(方法、文件名、异步传输) //方法: //传输方式是get方式还是post方式。 //文件名 //告诉服务器要读哪个文件 //异步传输 //异步:多件事一件一件的做 //同步:多件事情一起进行 //但是js里面的同步和异步和现实的同步异步相反。 //同步:多件事一件一件的做 //异步:多件事情一起进行 //ajax天生是用来做异步的 oAjax.open("GET","../ajax/getSomething",true);//加上t='+new Date().getTime()"的目的是为了消除缓存,每次的t的值不一样。 //3.发送请求 oAjax.send(); //4.接收返回 //客户端和服务器端有交互的时候会调用onreadystatechange oAjax.onreadystatechange=function() { //oAjax.readyState //浏览器和服务器,进行到哪一步了。 //0->(未初始化):还没有调用 open() 方法。 //1->(载入):已调用 send() 方法,正在发送请求。 //2->载入完成):send() 方法完成,已收到全部响应内容。 //3->(解析):正在解析响应内容。 //4->(完成):响应内容解析完成,可以在客户端调用。 if(oAjax.readyState==4) { if(oAjax.status==200)//判断是否成功,如果是200,就代表成功 { $('#sundiv').empty(); $('#text1').html('$.post:'+oAjax.responseText); } else { alert("失败"); } } }; } }});function showResponse(data){$('#sundiv').empty();$('#text1').html('$.ajax:'+data.name+' and '+data.value);}$("#btn1").ajaxSuccess(function(evt, request, settings){$('#text2').html("AJAX 请求已成功完成");});// $("#btn1").ajaxStart(function(){// $('#text2').html("AJAX 请求已开始");// });// $("#btn1").ajaxComplete(function(){// $('#text2').html("AJAX 请求已完成");// });</script></html>
#point
1)@ResponseBody:该注解用于将Controller方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后(如:json格式),写入到Response对象的body数据区。
2)在SpringMVC的配置文件中配置<mvc:annotation-driven/>,它可以向Spring中注册用来处理请求、映射、异常的Bean实例。
3)需要导入的jar包:
jackson-all-1.7.6.jar
jackson-core-asl-1.9.13.jar
jackson-mapper-asl-1.9.13.jar
4)load() 方法通过 AJAX 请求从服务器加载数据,并把返回的数据放置到指定的元素中,在加载页面时可以选择只加载页面的某个部分。
5)jQuery部分参考:http://www.w3school.com.cn/jquery/jquery_ref_ajax.asp
Demo:http://download.csdn.net/download/lazyrabbitlll/10131155
阅读全文
0 0
- SpringMVC框架下使用jQueryAJAX进行数据交互
- JQueryAjax使用SpringMVC中MultipartFile进行文件上传的整合
- JQueryAjax使用SpringMVC中MultipartFile进行文件上传的整合
- SpringMVC进行json数据交互
- springmvc进行Json数据交互
- JSON数据交互(SpringMVC进行json交互)
- Android开发,使用Volley框架进行简单数据交互
- SpringMVC框架下使用Interceptor进行登录验证
- Echarts使用,使用springmvc完成数据交互
- Django框架下的模板数据交互
- springMVC框架--json数据的交互(四)
- Jsp中使用xmlhttp进行数据交互~
- Jsp中使用xmlhttp进行数据交互~
- Jsp中使用xmlhttp进行数据交互
- 使用HttpURLConnection 与 sae 进行数据交互
- 使用 okhttp 与 sae 进行数据交互
- 使用vue-resource进行数据交互
- 使用vue-resource进行数据交互
- grunt入门
- Ubuntu_目录树结构
- java面试中集合框架问题汇总
- Ubuntu 16.04 虚拟机安装完成之后你需要做的几件事
- CPU高速缓存行对齐
- SpringMVC框架下使用jQueryAJAX进行数据交互
- java EE开发之Struts2第四章:国际化和文件上传下载
- CentOS 7.2 下安装部署 LAMP 详解
- 做项目的研发模式,即怎么研发一个系统,一步一步怎么做:UP、RUP、迭代式、瀑布式、快速原型、敏捷开发,区别
- 对mui下拉刷新,上拉刷新样式自定义
- Kafka 0.11.0.2 安装备忘录
- Spring参数验证顺序问题
- jquery easyui实现树形(Tree)菜单点击,在content页生成Tab功能
- 1.Java核心API--集合