ssm(spring+springmvc+mybatis)发起ajax请求前后端交互数据问题与解决方案

Posted il_持之以恒_li

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ssm(spring+springmvc+mybatis)发起ajax请求前后端交互数据问题与解决方案相关的知识,希望对你有一定的参考价值。

1.ajax发起无参的ajax请求返回任意类型的数据

通常这种请求最为简单,不会报错,如下:
jsp界面

controller

运行结果

能在浏览器控制台正常返回结果。

2.ajax发起有参的ajax请求返回任意类型的数据

jsp界面

controller

运行结果
后端能成功接收到数据

浏览器控制台能正常显示后端返回的数据

3.ajax发起有参(且参数为某一个对象类型)的ajax请求返回任意类型的数据

jsp界面

如果我们想直接把对象作为参数传入到后端去,那么需要把data数据转换成json格式,否则后端识别不了。另外,需要设置contentType:“application/json”
controller

这里记得添加@RequestBody注解,否则传过来的对象属性值都为null。
运行结果


如果读者使用ssm或者其他框架发起ajax请求出现错误,不知道解决办法可以到评论区留言啊!小编会及时回答的(小编其实也是遇到很多问题的,刚开始搞ajax请求的时候,觉得很简单,但是做项目是总是报一些奇怪的错误,比如400,这是一个比较奇怪的错误了,主要但是被我们那个老师误导了,就是小编在第2点讲到的那个,如果参数不是object类型,data根本不需要转换成json格式的数据类型。你一转换,后端就识别不了,从而导致后端接收到的数据为null,后者直接报错)
当然,如果是参数类型为object,需要导入以下三个依赖,如下,否则在编译的时候直接报错了。

<dependency>

      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <version>2.9.0</version>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-core</artifactId>
      <version>2.9.0</version>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-annotations</artifactId>
      <version>2.9.0</version>
    </dependency>

  </dependencies>

以上是关于ssm(spring+springmvc+mybatis)发起ajax请求前后端交互数据问题与解决方案的主要内容,如果未能解决你的问题,请参考以下文章

SSM框架整合

后端SSM(Spring + SpringMVC + Mybatis)框架整合

SSM(Spring + Springmvc + Mybatis)框架面试题

转SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)

springmvc和ssh,ssm的区别

shiro整合SSM(spring_springmvc_mybatis)