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

ajax往后台传json格式数据报415错误的相关文章

Ajax请求ashx 返回 json 格式数据常见问题

问题:ashx 返回的字符串json格式,在前台ajax自动解析失败. 问题分析:经过排查,发现是拼接json时出现” ’  “单引号,jquery无法解析,用” “ “双引号才可以.例如: string strjson="[ { 'userName':'test'}]"; //单引号导致jquery无法自动解析. string strjson="[ {\"userName\":\"test\"}]"; // 双引号可以解析:

fastJson java后台转换json格式数据

什么事JSON? JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. 易于人阅读和编写.同时也易于机器解析和生成. 它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集. JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等

【实习记】2014-08-17关于json格式的小错误花2小时debug

现象:jQuery开发时$.get()或$.getJSON()的回调均没调用,但firebug中确定以请求该资源. 原因:返回的json格式出错,"name":json,因为这样没有双引号而导致的. 排除过程:1.查看服务器的http头,确定Conten-Type:application/json没有错.2.回调函数没有执行,想到换掉旧的可用jquery和boostrap版本,结果并非版本问题.3.修改回调函数,不管怎样都无法执行.4.对比其它正确的json的http头,但无论有无加入

ajax接收遍历处理json格式数据

转载源:http://www.cnblogs.com/dibaosong/p/4572274.html ajax在前后端的交互中应用非常广泛,通过请求后台接口接收处理json格式数据展现在前端页面. 下面我们来简单用 ajax在本地做一个接收并处理json的小例子 首先我们要新建一个叫做data的json文件data.json. data.json文件内容是: [    {"name":"小明","sex":"男","

easyui tree后台传json处理问题

一.tree json格式 [ { "id": 1, "text": "权限管理", "iconCls": "icon-feed", "checked": false, "attributes": { "url": "#123" }, "children": [ { "id": 2, &q

jquery ajax 从后台返回json结果后 不执行success方法的问题

大家在开发的过程中都会经常使用异步方式与后台进行交互,从后台往前台返回的结果信息常常用json字符串的格式,如果在后台拼的返回结果串(json)如果有问题(json格式不对).ajax前端的js代码将直接调用error中的方法,此时是不会走success方法的.这里大家可以去网上找个json在线验证的网站看下自己的json串是否正确,如果是用json工具包生成的json串是没有问题的.

java之后台返回json格式字符串,前台接受并转为json文件

作为一个菜鸟,做项目真的好困难呀,这两天被一个问题困了两天,终于解决了,但是也不算太完美.首先,先说一下问题吧,根据后台返回的值,前台接受并作出一个折线图. 最初,在后台根据从数据库中的值,强制拼成了json格式的字符串,利用model返回给前台,前台Ajax  success:function(data)data接收数据,这是应该接收的是字符串,由于折线图中series中的data为非字符串,(这个是后来百度才知道的),就没有成功.然后就想后台直接将数据转换成json,然后返回前台,利用里JS

servlet与ajax数据交换(json格式)

JSON数据格式: JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. 易于人阅读和编写.同时也易于机器解析和生成. 它基于的一个子集. JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等). 这些特性使JSON成为理想的数据交换语言. JSON建构于两种结构: (1)"名称/值"对的集合(A collection of name

AJAX(四)实例 -- json格式数据

本期来讲解在AJAX中使用json格式数据.不过我们先不说json的事,先来做个案例,然后由这个案例我们再来讨论为啥要用json数据,以及怎么用. 一.案例   非常经典,也是非常简单的AJAX案例,省市联动.就是在网上常见的,选择一个省份,然后城市所在的<select>标签中再动态加载进来所选省份包含的城市选项. HTML是极其简单的.为了让案例更简单,省份的<select>标签中的选项都写死了,其中value代表省份的主键id.城市所对应的<select>标签也是如