SpringMVC对Ajax请求的处理

[1] 问题:

当浏览器发起一个ajax请求给服务器,服务器调用对应的单元方法处理ajax请求。

ajax的请求在被处理完成后,其处理结果需要直接响应。而目前我们在单元方 法中响应ajax请求,使用的是response对象,需要我们自己将要响应的数据转换 json字符串响应,比较麻烦,而我们一直希望在单元方法中无论是否是ajax 求,都使用return语句来完成资源的响应,怎么办?

[2] 解决:

既然我们希望使用单元方法的返回值来响应ajax请求的处理结果,而目前 DispatcherServlet的底层会将单元方法的返回值按照请求转发或者重定向来处理, 所以就需要我们告诉DispatcherServlet,单元方法的返回值不要按照请求转发或者

重定向处理,而是按照直接响应处理,将单元方法的返回值直接响应给浏览器。

[3] 代码示例:

 

  1. 导入jacksonjar

 

  1. 声明单元方法处理ajax请求,并在单元方法上新增注解@ResponseBody

注意:

把我们要响应的数据直接return即可,并且,返回值类型为要return

的数据类型。

 

 

ajax的回调函数中,,无需再次使用eval函数将响应数据转换为json对象

 直接使用即可。

 

 

 

posted @ 2021-01-25 11:04  巧克力曲奇  阅读(166)  评论(0编辑  收藏  举报