使用springMVC对静态网页传值 使用AJAX

来源:互联网 发布:经传全套公式源码 编辑:程序博客网 时间:2024/06/08 07:37

20170911工作中使用到了ajax静态页面的前、后台交互,自己mark一下:

我们平常在使用mybatis、spring、springMVC这套框架的时候,如果前端使用的是H5页面,同时要求不能修改为jsp页面的时候,如何让前台与后台交互呢?

这里我们可以使用ajax,前台js代码:


<script>
$(function(){
$.ajax({data:{username:$("username").val,password:$("password").val},type:"GET",dataType:"json", url:"http://localhost/WebGL/user/login",error:function(result){alert("出现未知错误,请重试!");}, success:function(result){ alert("登录成功");} });
});
</script>


其中data为传入的值,使用key:value的形式,不同的k-v之间用“,”隔开。

type为传输方式,这里使用的是get,同时要注意,如果使用的是get传输方式的时候,传入中文会导致中文乱码,这时要在Tomcat的目录下,找到E:\apache-tomcat-6.0.37\conf\server.xml,打开后将:

<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>改为<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8"/>

这时针对GET(仅针对GET)请求时传输的数据会默认为UTF-8格式。

dataType表示传入前台的数据为json格式。

url表示前台传入后台时指定的路由,这里对应的是controller类中的@requestMapping(value=url)value的值。

如果出现错误,会进入error方法;

如果成功会进入success方法,方法中的result表示后台传入前台的数据,后台我们可以这么写,后台java代码:

//登录@RequestMapping(value="/login",method=RequestMethod.GET)@ResponseBodypublic Map<String, Object>  login(HttpServletRequest request){
$(function(){

String username=request.getParameter("username");String password=request.getParameter("password");Map<String, Object> map=new HashMap<String,Object>();User user=userService.login(username,password);map.put("user", user);return map;}

后台接收前台data中传输过来的值的时候可以直接使用request.getParameter接收。

这里就实现了一个简单的静态页面前、后台数据交互。

同理,使用ajax也可以实现局部页面刷新的功能,操作步骤与上面类似。

<script>
$(function(){
原创粉丝点击