ssm实现ajax前后端json数据交互
程序员文章站
2024-03-23 17:33:40
...
这些天在写项目的时候,一直被一个事情困扰,就是ajax和后端交互时候总是得不到json数据,自己在springboot测试却没有问题,在此记录一下有关于spring-mvc.xml的配置。当然还有源码。
首先在pom.xml中配置json依赖
<!-- 映入JSON -->
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.13</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.8.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.8.0</version>
</dependency>
然后在xml配置文件中加入
<bean id="mappingJacksonHttpMessageConverter"
class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/html;charset=UTF-8</value>
<value>application/json;charset=UTF-8</value>
</list>
</property>
</bean>
<mvc:annotation-driven>
<mvc:message-converters>
<bean class="org.springframework.http.converter.StringHttpMessageConverter"/>
<bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/html;charset=UTF-8</value>
<value>application/json;charset=UTF-8</value>
</list>
</property>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
在页面中一定要注意添加contentType:'application/json
:这是告诉服务器,我要发什么类型的数据 。
var ds = {};
ds.boardId='${host.boardId}';
ds.topicId='${host.topicId}';
ds.userId='${user.userId}';
ds.postText=text;
ds.postType=0;
$.ajax({
type:'post',
url:'/postText',
contentType:'application/json',
//数据格式是json串,商品信息
data:JSON.stringify(ds),
success:function(data){//返回json结果
alert(data);
location.reload();//刷新页面
}
});
最后 后台controller:
@RequestMapping(value = "/postText", method = RequestMethod.POST)
@ResponseBody//用来返回数据并非view
public boolean postText(@RequestBody Post post) {//接收json并映射到post对象中
forumService.addPost(post);
return true;
}
上一篇: spring boot整合activiti工作流(一)
下一篇: NC22合并俩个有序的数组