页面ajax和SpringWebMvc交互
参考:https://blog.csdn.net/u014079773/article/details/52984747
以$.ajax()的"data"属性值类型做区分。
一、data属性值类型为json对象
1.前端:
$.ajax({ type: "post", //只能是post url: "xxxxx.do", dataType: "json", data: "{'name':'a','pwd':'123'}", contentType: "application/json" //只能是这个值 });
2.后端
@RequestMapping(value = "/xxxx.do") public void method(@RequestBody User user) {}// 必须添加@RequestBody注解
二、data属性值是js对象或者请求参数是"?aa=bb&&xx=yy"形式
1.前端:
$.ajax({ type: "get", //get和post均可 url: "xxxxx.do?name=a", dataType: "json", data: {pwd:'123'}, contentType: "application/json" //"application/json"或者默认值:"application/x-www-form-urlencoded" });
2.后端:
@RequestMapping(value = "/xxxx1.do") public void method1(User user) {} //或者 @RequestMapping(value = "/xxxx2.do") public void method2(String name, String pwd) {}
三、关于@RequestParam注解
@Target(ElementType.PARAMETER) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface RequestParam { // 作用同name() @AliasFor("name") String value() default ""; // 指定方法参数对应的http请求参数 @AliasFor("value") String name() default ""; // http请求中是否必须有这个参数。 boolean required() default true; // 当参数不存在或者值为空时,采用默认值。不会受到required()的影响 String defaultValue() default ValueConstants.DEFAULT_NONE; }
没有验证,仅限猜测:@RequestParam只有自身4个标签的作用,没有数据类型转换的作用。

浙公网安备 33010602011771号