码迷,mamicode.com
首页 > Web开发 > 详细

$.ajax数据传输成功却执行失败的回调函数

时间:2018-02-07 14:52:22      阅读:232      评论:0      收藏:0      [点我收藏+]

标签:str   html标签   val   pos   fast   mail   ice   word   style   

这个问题迷惑了我好几天,都快要放弃了,功夫不负有心人,最终成功解决,下面写一下我的解决方法。

我传的数据是json类型的,执行失败的回调函数是因为从后台传过来的数据不是严格的json类型,所以才会不执行成功的回调函数。

下面贴一下我的代码

Controller

 @RequestMapping(value="/reg")
    @ResponseBody
    public Map<String,Object> Register(User user) throws IOException{
        Map<String,Object> map = new HashMap<String,Object>();
        boolean isSuccess = userService.Register(user);
        if(isSuccess){
            map.put("tip", "success");
        }
        else{
            map.put("tip", "error");
        }
        return map;
    }

jsp


$.ajax({
type:‘POST‘,
data: {"email":email,"password":password,"type":type},
url:‘user/reg‘,
async:false,
dataType: ‘json‘,
success:function(response){
alert(response.tip);
$(form).find(":submit").attr("disabled", false);
},
error:function(response){
alert(response.tip);
$(form).find(":submit").attr("disabled", false);
}
});

注意我使用了注解@ResponseBody,该注解用于将Controller的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区。

返回的数据不是html标签的页面,而是其他某种格式的数据时(如json、xml等)使用;

要想使用@ResponseBody需要在配置文件中启用注解,下面是启用注解的代码

  <!--开启注解-->
    <mvc:annotation-driven />

 SpringMVC中使用@ResponseBody注解标注业务方法,将业务方法的返回值做成json输出给页面

除了一些spring的包之外,还需要jackson-annotations.jar , jackson-core.jar , jackson-databind.jar 这三个包

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

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

 

 

$.ajax数据传输成功却执行失败的回调函数

标签:str   html标签   val   pos   fast   mail   ice   word   style   

原文地址:https://www.cnblogs.com/lwx521/p/8425803.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!