zoukankan      html  css  js  c++  java
  • $.ajax数据传输成功却执行失败的回调函数

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

    我传的数据是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>
  • 相关阅读:
    131. Palindrome Partitioning
    130. Surrounded Regions
    129. Sum Root to Leaf Numbers
    128. Longest Consecutive Sequence
    125. Valid Palindrome
    124. Binary Tree Maximum Path Sum
    122. Best Time to Buy and Sell Stock II
    121. Best Time to Buy and Sell Stock
    120. Triangle
    119. Pascal's Triangle II
  • 原文地址:https://www.cnblogs.com/lwx521/p/8425803.html
Copyright © 2011-2022 走看看