1, Ajax 请求 无论为 post , 或者 get ,url 中带有? 形式的参数, 后台都能以 String 类型变量接收, 变量名称和参数名称必须一致
前台 Ajax:
- $.Ajax(
- "productForm?loginname2=jichen",// 发送请求的 URL 字符串.
- {
- dataType : "JSON", // 预期服务器返回的数据类型. 如果服务器返回不一致, 报 parseError
type : "post" 或者 "get", // 请求方式 POST 或 GET
- contentType:"application/json;charset=UTF-8", // 发送信息至服务器时的内容编码类型
- ...
- });
后台 springMVC:
- @RequestMapping(value="/productForm")
- @ResponseBody(这个注解意味着这个方法的返回值不是页面名称, 而是同一次请求的返回体 (也就是服务器返回给客户端的数据))
- public String ProductPost(String loginname2){
- (此处必须和前台传的参数名称一致)
System.out.println(loginname2); 打印的值就是 jichen
}
2,Ajax 请求 为 post , contentType 必须为 "application/json;charset=UTF-8",data 必须用 JSON.stringify 格式化: JSON.stringify({id : 1}), 则后台可以用 Map 类型的 @RequestBody Map data 来接收, 缺一不可;
前台 Ajax:
- $.Ajax(
- "productForm?loginname2=jichen",// 发送请求的 URL 字符串.
- {
- type : "post",
- contentType:"application/json;charset=UTF-8", // 发送信息至服务器时的内容编码类型, 如果不加 charset, 则中文传到后台为乱码
- // 发送到服务器的数据.
- data:JSON.stringify({
- id : 1, loginname : "Spring MVC 企业应用实战"
- })
- }
后台 springMVC:
- @RequestMapping(value="/productForm")
- @ResponseBody(这个注解意味着这个方法的返回值不是页面名称, 而是同一次请求的返回体 (也就是服务器返回给客户端的数据))
- public String ProductPost(String loginname2,@RequestBody Map data){
System.out.println(data.get("loginname")); 打印出来 Spring MVC 企业应用实战
}
来源: http://www.bubuko.com/infodetail-3293421.html