欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Ajax向后台传json格式的数据出现415错误的原因分析及解决方法

程序员文章站 2022-11-22 19:58:07
问题描述:   ajax往后台传json格式数据报415错误,如下图所示 页面代码 function saveuser(){ var uuid = do...

问题描述:

  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)<br>这个函数可以转化成真确的json格式。<br><br>ps:小白一个,有不对的地方请大神指正;有大神知道具

以上所述是小编给大家介绍的ajax向后台传json格式的数据出现415错误的原因分析及解决方法,希望对大家有所帮助