SpringMVC与Ajax交互

Posted 光何

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringMVC与Ajax交互相关的知识,希望对你有一定的参考价值。

1 springmvc和ajax的交互

1.1  请求字符串响应json

客户端发送的数据:key=value&key1=value1

响应回来:json

1.1.1json的支持jar包

 

1.1.2建立Handler处理器

 1 package org.guangsoft.controller;
 2 
 3 import java.util.ArrayList;
 4 import java.util.List;
 5 
 6 import org.guangsoft.pojo.User;
 7 import org.springframework.stereotype.Controller;
 8 import org.springframework.web.bind.annotation.RequestBody;
 9 import org.springframework.web.bind.annotation.RequestMapping;
10 import org.springframework.web.bind.annotation.ResponseBody;
11 
12 @Controller
13 public class UserHandler
14 {
15     //responseBody将返回值转化为json格式响应到客户端
16     //requestBody将请求数据转化为json对象
17     @RequestMapping("/checkUsername")
18     public @ResponseBody List<User> CheckUsername(User user)
19     {
20         System.out.println(user.getUsername());
21         List<User> userList = new ArrayList<User>();
22         User user0 = new User();
23         user0.setUsername("java");
24         User user1 = new User();
25         user1.setUsername("javase");
26         User user2 = new User();
27         user2.setUsername("javaee");
28         //对象加入集合
29         userList.add(user0);
30         userList.add(user1);
31         userList.add(user2);
32         return userList;
33     }
34     
35     @RequestMapping("/checkUsername2")
36     public @ResponseBody List<User> CheckUsername2(@RequestBody User user)
37     {
38         System.out.println(user.getUsername());
39         List<User> userList = new ArrayList<User>();
40         User user0 = new User();
41         user0.setUsername("java");
42         User user1 = new User();
43         user1.setUsername("javase");
44         User user2 = new User();
45         user2.setUsername("javaee");
46         //对象加入集合
47         userList.add(user0);
48         userList.add(user1);
49         userList.add(user2);
50         return userList;
51     }
52

1.1.3完成ajax发送请求

 

备注:springmvc ajax,响应json406错误,使用json相关jar包2.4以上版本。

 1 function sendAjax()
 2 {
 3     var username = $("#username").val();
 4     var age = $("#age").val();
 5     var div = $("#showDiv");
 6     $.ajax(
 7     {
 8         url:"checkUsername.action",
 9         data:{"username":username,"age":age},
10         type:"post",
11         dataType:"json",
12         success:function(data)
13         {
14             var jsons = data;
15             div.html("");
16             for(var i = 0; i < jsons.length; i++)
17             {
18                 div.append("<div>"+jsons[i].username+"</div>");
19             }    
20         }
21     });
22

1.2请求json响应json

客户端发送的数据:{key:value,key1:value1}

 

响应回来:json

1.2.1 建立服务器端Handler

见上 

1.2.2客户端发生ajax请求

 1 function sendAjax2()
 2 {
 3     var username = $("#username").val();
 4     var age = $("#age").val();
 5     var div = $("#showDiv");
 6     $.ajax(
 7     {
 8         url:"checkUsername2.action",
 9         type:"post",
10         data:\'{"username":"username","age":"4"}\',
11         contentType:"application/json;charset=utf-8",
12         dataType:"json",
13         success:function(data)
14         {
15             var jsons = data;
16             div.html("");
17             for(var i = 0; i < jsons.length; i++)
18             {
19                 div.append("<div>"+jsons[i].username+"</div>");
20             }
21         }
22     });
23 }

2url跳转

Model封装数据的范围request范围,只有请求转发才能获取

如果是重定向变为url传参。

Return “forward:url”:请求转发

Return “redirect:url”重定向

 

以上是关于SpringMVC与Ajax交互的主要内容,如果未能解决你的问题,请参考以下文章

springmvc与ajax交互常见问题

springmvc与ajax交互

springmvc与Ajax交互

ajax 二级联动与springmvc 交互

SpringMVC之数据传递三Ajax与Controller交互

content-type常见类型辨析(以ajax与springmvc前后端交互为例)