zoukankan      html  css  js  c++  java
  • ajax往后台传json格式数据报415错误

    问题描述:

      ajax往后台传json格式数据报415错误,如下图所示

    页面415错误1

    页面代码

    function saveUser(){
    	var uuId = document.getElementById("uuid").value;
    	var idCard = document.getElementById("idCard").value;
    	alert(uuId+idCard);
    //	var result = new Object();
    //	result.uuId = uuId;
    //	result.idCard = idCard;
    //	var saveData = JSON.stringify(result);
    //	alert(saveData);
    	$.ajax({
    		url : "xdds/saveUser.do?random=" + Math.random(),
    		type : "post",
    		data : {"uuid" : uuId,"idCard" : idCard},
    //		data:saveData,
    		dataType : 'json',
    //		contentType : "application/json",
    		success:function(data){
    			
    		}
    	});
    }
    

      后台代码

    @RequestMapping(value = "/saveUser.do", method = { RequestMethod.POST })
        @ResponseBody
        public  Map<String, Object> saveUser (@RequestBody MapUser user){
            Map<String, Object> map = new HashMap<String, Object>();
            System.out.println(user.getUuid()+user.getIdCard());
            map.put("result", "fda");
            return map ;
            
        }

    错误分析:415 (不支持的媒体类型) 请求的格式不受请求页面的支持

    正确的json格式{key:value, key:value}key和value应该都带双引号。上面的前台代码data中的数据value不带双引号,所以导致报错(因为前面接触的项目这样写是没问题)

    所以初步分析可能应为框架的问题,有的框架可以将

    data : {"uuid" : uuId,"idCard" : idCard}这种封装成正确的json格式

    。具体原因还不知道,博主也是小白,等博主搞清楚会分享出来的

    解决办法:将前台注释的代码打开

    var saveData = JSON.stringify(result)
    这个函数可以转化成真确的json格式。

    ps:小白一个,有不对的地方请大神指正;有大神知道具体原因,还请指明,不甚感激


    ps:本文为博主原创,转载请注明出处:http://www.cnblogs.com/Y-zhiwei/。
    ps:本文为博主原创,转载请注明出处:http://www.cnblogs.com/Y-zhiwei/。
  • 相关阅读:
    OAuth2集成——《跟我学Shiro》
    Spring的servlet context和application context
    Spring MVC中如何指定某个类或方法自适配地响应某个HTTP请求?
    spring security的标签库
    使用 Spring 2.5 基于注解驱动的 Spring MVC
    在数据库历史上最重要的人物简介
    工作流引擎Activiti使用总结
    Activiti初学者教程
    比较Activiti中三种不同的表单及其应用
    Activiti工作流引擎使用
  • 原文地址:https://www.cnblogs.com/Y-zhiwei/p/5962080.html
Copyright © 2011-2022 走看看