问题描述: ajax中走error : function(e) {}

问题背景:

在测试controller层时,试过了ResponseEntity<ResponseModel>这种类型返回,这是可行的,但是出于好奇,想看看Map返回可不可行。结果出乎我预料,返回Map时JSP页面总是走error : function(e) {},这就奇怪了,刚才用ResponseEntity返回可行,而Map为什么不行呢?于是就查了ajax走error:function的原因,

原因:

1. 后台出错
2. 后台响应中断

3. 返回数据类型不是JSON

但是打了断点排除了,前两个原因,所以猜测很有可能是第三个原因。

Map返回本来就是没有将其转化为JSON格式,果然

在@RequestMapping上加上@ResponseBody,就可以将返回Map转化为json格式。

先记录下问题解决方法,夜深,等有时间再深究源码

参考:

http://www.iteye.com/problems/88859

https://segmentfault.com/q/1010000004152735?_ea=509054

准备深究参考:

http://mybloggers.blog.163.com/blog/static/1003865092010111631741468/

      @ResponseBody 
1 @RequestMapping(value = "/user/login", method = RequestMethod.POST) public Map<String, Object> userRegister(@RequestBody User user) { Map<String, Object> map = new HashMap<String, Object>(); User userInfo = userLoginService.userRegister(user); System.out.println(user.getNumber()); if (userInfo != null) map.put("code", "0"); else map.put("code", "1"); return map; }
<script type="text/javascript">
    $(document).ready(function() {
        $("#login_user").click(function() {
            var username = $("#login_account").val();
            var pass = $("#login_userPwd").val();
            var user = {
                number : username,
                password : pass
            };//拼装成json格式  

            $.ajax({
                type : "POST",
                url : "http://localhost:8080/iswust2hand/2hand/user/login",
                data : JSON.stringify(user),
                contentType : 'application/json;charset=utf-8',
                dataType : 'json',
                success : function(data) {

                      if (data.code == '0') {
                        window.location.href = "/iswust2hand/index.jsp";
                        alert("欢迎使用西科二手平台!");
                    }else{
                        alert("密码错误,请确认后重新登录!");
                    }  

                },

                error : function(data) {
                    alert("出错:" + data.code);
                }

            });

        });
    });
</script>

前端新手,会点后端,欢迎大神交流!

Spring MVC返回Map格式JSON数据的更多相关文章

  1. spring mvc 返回xml格式数据

    1.问题 : 因为业务需要,需要发送xml格式的数据,使用spring mvc 自己解析,就不用费心去自己搞这些东西. 2.解决: 新建一个实体类,直接在实体类中添加注解即可,如下: @XmlRoot ...

  2. Spring MVC 返回 xml json pdf 数据的配置方法

    <!-- Spring MVC 返回 xml 数据的配置方法 -->     <bean class="org.springframework.web.servlet.vi ...

  3. spring mvc返回json字符串数据,只需要返回一个java bean对象就行,只要这个java bean 对象实现了序列化serializeable

    1.spring mvc返回json数据,只需要返回一个java bean对象就行,只要这个java bean 对象实现了序列化serializeable 2. @RequestMapping(val ...

  4. spring mvc返回json字符串的方式

    spring mvc返回json字符串的方式 方案一:使用@ResponseBody 注解返回响应体 直接将返回值序列化json            优点:不需要自己再处理 步骤一:在spring- ...

  5. Spring MVC 学习总结(九)——Spring MVC实现RESTful与JSON(Spring MVC为前端提供服务)

    很多时候前端都需要调用后台服务实现交互功能,常见的数据交换格式多是JSON或XML,这里主要讲解Spring MVC为前端提供JSON格式的数据并实现与前台交互.RESTful则是一种软件架构风格.设 ...

  6. Maven 工程下 Spring MVC 站点配置 (二) Mybatis数据操作

    详细的Spring MVC框架搭配在这个连接中: Maven 工程下 Spring MVC 站点配置 (一) Maven 工程下 Spring MVC 站点配置 (二) Mybatis数据操作 这篇主 ...

  7. Golang-Gin Response 统一返回restful格式的数据

    目的: gin返回restful格式的数据,返回的200,201 的数据 也包括异常时的404/500等情况 直接调用即可 package response import ( "github ...

  8. 11月13日上午ajax返回数据类型为JSON数据的处理

    ajax返回数据类型为JSON数据的处理 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &qu ...

  9. ajax返回数据类型为JSON数据的处理

    JSON数据处理: 1.编码格式必须为utf8 2.echo json_encode($db->GuanQuery($sql));   返回的是关联数组.json_encode返回的是json数 ...

随机推荐

  1. Suspend to RAM和Suspend to Idle分析,以及在HiKey上性能对比

    Linux内核suspend状态 Linux内核支持多种类型的睡眠状态,通过设置不同的模块进入低功耗模式来达到省电功能.目前存在四种模式:suspend to idle.power-on standb ...

  2. JQuery点滴记录-持续更新

    1. 获取各个控件的值 1)获取textArea等控件的值 2)获取span的值 3)删除ul下的所以li 2. jquery获取服务器控件dropdownlist的值 ddl_Type2为dropd ...

  3. jq.validate 自定义验证两个日期

    jq.validate 自定义验证两个日期 首先定义有一个表单,date1和date2是属于表单的元素,若date1大于date2,返回false:若date1<date2,返回true.使用j ...

  4. Java相关书籍分享

    Java核心技术(卷1):基础知识(原书第9版) [Core Java Volume I-Fundamentals (Ninth Edition)].pdf Java核心技术(卷2):高级特性(原书第 ...

  5. CodeForces 261B Maxim and Restaurant 解法汇总

    题意:给定n个数a1-an(n<=50,ai<=50),随机打乱后,记Si=a1+a2+a3-+ai,问满足Si<=p的i的最大值的期望.(p<=50) 这道题在网上有一些不同 ...

  6. oracle--函数--bai

    --1 没有入参的函数.返回字符串 create or replace function get_time return varchar2 as v_time varchar2(20); --声明1个 ...

  7. delphi 2010与delphi XE破解版的冲突

    在系统中同时安装了Dephi 2010LITE版与Delphi XE lite后,总是会有一个有问题 是因为两者都是读取C:\ProgramData\Embarcadero目录下的license文件, ...

  8. Table 表单

    <style> table th { white-space: nowrap; } .chk { white-space: nowrap; } </style> <tab ...

  9. Robot Framework 安装步骤

    1. 安装python 2.7.11, 并添加环境变量到PATH.在cmd验证python是否安装成功.   2. 解压pip-8.1.1.tar.gz,执行python setup.py insta ...

  10. asp.net反向代理

    https://www.codeproject.com/Articles/18490/Reverse-Proxy-in-C-NET-v https://www.codeproject.com/Arti ...