ajax往后台传json格式数据报415错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ajax往后台传json格式数据报415错误相关的知识,希望对你有一定的参考价值。

问题描述:

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

技术分享技术分享技术分享技术分享技术分享

页面代码

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:小白一个,有不对的地方请大神指正;有大神知道具体原因,还请指明,不甚感激



以上是关于ajax往后台传json格式数据报415错误的主要内容,如果未能解决你的问题,请参考以下文章

请教easyui ajax请求往后台传个数组 如何传

jsp用ajax往后台如何传request值

easyui ajax请求往后台传个数组 怎么传

Json与Ajax交互报错解决No converter found for return value of type: class com.github.pagehelper.PageInfo(代码片

Json与Ajax交互报错解决No converter found for return value of type: class com.github.pagehelper.PageInfo(代码片

web前端 ajax请求报415/400错