目录
- SpringMVC对Ajax请求的处理
- [1]问题:
- [2]解决:
- 代码
SpringMVC对Ajax请求的处理
[1]问题:
当浏览器发起一个ajax请求给服务器,服务器调用对应的单元方法处理ajax请求。 而ajax的请求在被处理完成后,其处理结果需要直接响应。而目前我们在单元方 法中响应ajax请求,使用的是response对象,需要我们自己将要响应的数据转换 为json字符串响应,比较麻烦,而我们一直希望在单元方法中无论是否是ajax请 求,都使用return语句来完成资源的响应,怎么办?
[2]解决:
既然我们希望使用单元方法的返回值来响应ajax请求的处理结果,而目前 DispatcherServlet的底层会将单元方法的返回值按照请求转发或者重定向来处理, 所以就需要我们告诉DispatcherServlet,单元方法的返回值不要按照请求转发或者 重定向处理,而是按照直接响应处理,将单元方法的返回值直接响应给浏览器。
代码
代码语言:javascript复制@Controller
public class MyController {
//声明单元方法:处理ajax请求,并响应结果
@ResponseBody
@RequestMapping("testAjax")
public User testAjax(String uname,int age){
//处理请求
System.out.println("uname = " uname ", age = " age);
//响应结果
//创建User对象,作为响应数据
User user=new User(1,"王五","123");
//直接返回要响应的数据
return user;
}
}
@ResponseBody这个注解就是告诉springmvc框架,把我返回的数据,转成json格式再返回给前端。