SpringMVC @requestbody注解415错误 求帮助

a540268158 2015-09-02 02:29:01
我先发一下我的代码


web。xml


servlet. xml


model


controller


jsp页面




js代码




报错页面
求帮忙改一下,jar包没少,json缺少的都添加了

...全文
293 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
解开者 2015-09-02
引用 4 楼 a540268158 的回复:
[quote=引用 3 楼 windowsoahil 的回复:] 恕我眼拙,没看到jQuery部分……
function savepro() {
		var saveData = {
			"username" : "admin",
			"password" : "123456"
		};//发送给服务器的JSON  
		$.ajax({
			type : "POST",
			url : "/PaperDiary/user/login",
			data : JSON.stringify(saveData),
			contentType : "application/json", //发送至服务器的类型   
			dataType : "text", //预期服务器返回类型  
			success : function(data) {
				alert(data);
				/* var localStorage = [];
				for (var item in data) {
					alert(data[item]);
					localStorage[item] = data[item];
				} */
			}
		});
	}
这是我的jQuery调用,区别是我的data属性是用JSON.stringify()传json数据而不是传字符串的形式,楼主不妨试试
用的ajax, js有点分不清了,按照你这样改了下 给submit加了onclick 调用savepo,页面不跳转,没有报错误,[/quote] 不要用submit,ajax是异步请求,再用form提交就本末倒置了,就在页面上随便加个按钮然后onclick调用上边这个方法。你的需求是返回json,那dataType属性也要改成json,而且json直接alert的话好像是输出[object Object]
回复
a540268158 2015-09-02
引用 2 楼 zhanlanmg 的回复:
注解是post方式,那么检查以下内容: 1. 你是否用了post请求 2. 请求是否发送了数据 3. 请求内容格式需要是 application/json 。jquery 设置 contentType, 4. 客户端是否出现了服务器没有的字段,spring post 中,字段可少,不可多。
controller中是post,页面也是post请求,是页面输入用户名密码后提交的,在ajax里面有写application/json,Springmvc不是默认jackson么? 字段只有username password 前端不太会用,可否来分代码参考...
回复
a540268158 2015-09-02
引用 1 楼 windowsoahil 的回复:
用的是Jaskson注入?需要把请求的contenttype改成application/json,不然就会415 我的建议是用jQuery发请求测试,各方面都会方便一些
可以方便代码参考么 jquery,ajax 不怎么会用
回复
a540268158 2015-09-02
引用 3 楼 windowsoahil 的回复:
恕我眼拙,没看到jQuery部分……
function savepro() {
		var saveData = {
			"username" : "admin",
			"password" : "123456"
		};//发送给服务器的JSON  
		$.ajax({
			type : "POST",
			url : "/PaperDiary/user/login",
			data : JSON.stringify(saveData),
			contentType : "application/json", //发送至服务器的类型   
			dataType : "text", //预期服务器返回类型  
			success : function(data) {
				alert(data);
				/* var localStorage = [];
				for (var item in data) {
					alert(data[item]);
					localStorage[item] = data[item];
				} */
			}
		});
	}
这是我的jQuery调用,区别是我的data属性是用JSON.stringify()传json数据而不是传字符串的形式,楼主不妨试试
用的ajax, js有点分不清了,按照你这样改了下 给submit加了onclick 调用savepo,页面不跳转,没有报错误,
回复
解开者 2015-09-02
恕我眼拙,没看到jQuery部分……
function savepro() {
		var saveData = {
			"username" : "admin",
			"password" : "123456"
		};//发送给服务器的JSON  
		$.ajax({
			type : "POST",
			url : "/PaperDiary/user/login",
			data : JSON.stringify(saveData),
			contentType : "application/json", //发送至服务器的类型   
			dataType : "text", //预期服务器返回类型  
			success : function(data) {
				alert(data);
				/* var localStorage = [];
				for (var item in data) {
					alert(data[item]);
					localStorage[item] = data[item];
				} */
			}
		});
	}
这是我的jQuery调用,区别是我的data属性是用JSON.stringify()传json数据而不是传字符串的形式,楼主不妨试试
回复
三目君 2015-09-02
注解是post方式,那么检查以下内容: 1. 你是否用了post请求 2. 请求是否发送了数据 3. 请求内容格式需要是 application/json 。jquery 设置 contentType, 4. 客户端是否出现了服务器没有的字段,spring post 中,字段可少,不可多。
回复
解开者 2015-09-02
用的是Jaskson注入?需要把请求的contenttype改成application/json,不然就会415 我的建议是用jQuery发请求测试,各方面都会方便一些
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2015-09-02 02:29
社区公告
暂无公告