今天遇到一个很奇怪的问题,前台ajax中写的url地址明明与controller requestmapping地址匹配,但一直报404的错。后来和其他的方法一比对,发现是没有加@ResponseBody注解。加上之后就正常了。
@ResponseBody注解的意思是直接输出,所以我一直以为只和输出内容有关,总觉得应该是先匹配地址,然后匹配对了,执行方法再输出内容,看来不是如此。
另外记下提交前台表格的两种方法:
①
$.ajax({ url:"your_url", data:$("#Form").serialize(), type:"post", success:function(data){ if(data.code=="0") alert("success"); else alert("failure"); } });
将表格内的数据序列化,数据类型不要指定为json,相对应的方法里接受参数时不能加@RequestBody;
② 第二种方法与第一种方法相对,将表格内数据转化为json,数据格式也指定为json,相对应的方法接收参数的时候必须加上@RequestBody注解;
很明显第一种更简单。两种方法如果前后没有对接好,都会报503(数据格式不正确)的错误。
时间: 2024-08-06 15:40:25