使用Ajax向SpringMVC传递Json数据

这篇文章已经过时了。

请参考比较合适的前后端交互方式

 

1、保证SpringMVC配置成功了。

 

2、在pom.xml中追加Jackson相关的依赖

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

 

3、网页追加JQuery

<script type="text/javascript" src="/html/jquery-3.2.1.min.js"></script>

 

script不能单标签自闭合

注意src的路径,现在这个写法是以webapp出发的绝对路径

 

4、SpringMVC的配置文件中为“注解驱动”追加消息转换器

    <mvc:annotation-driven>
        <mvc:message-converters>
            <bean class = "org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
            </bean>
            <bean class = "org.springframework.http.converter.StringHttpMessageConverter">
            </bean>
        </mvc:message-converters>
    </mvc:annotation-driven>

 

至此为止,Ajax可用了

        $.ajax({
            type:"post",
            url:"/ajax/json_str",
            dataType:"json",
            contentType : 'application/json',
            data:JSON.stringify(saveData),
            success:function(data) {
                alert(data);
            },
            error:function(data) {
                alert('error');
            }
        });

 

        $.ajax({
            type:"post",
            url:"/ajax/json_obj",
            dataType:"json",
            data:saveData,
            success:function(data) {
                alert(data);
            },
            error:function(data) {
                alert('error');
            }
        });

 

如果json对象被JSON.stringify转换成了json字符串,则一定要有contentType : 'application/json',

如果json对象的话,则不能有contentType : 'application/json'

 

posted @ 2017-07-18 09:37  Deolin  阅读(371)  评论(0编辑  收藏  举报