深度学习springMVC(九)SpringMVC对Ajax请求的处理

2021-07-08 15:24:53 浏览数 (1)

目录

  • 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格式再返回给前端。

0 人点赞