js ajax请求传参及java后端数据接收

 Controller:
package com.ysl.PassingParameters.controller;
import java.util.List;
import java.util.Map; import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody; import com.ysl.PassingParameters.bean.User;
import com.ysl.PassingParameters.dto.RetMsg; @Controller
public class TestController { /**
* List<String>传参
* @param listString
* @return
*/
@RequestMapping("/listString")
@ResponseBody
public RetMsg listString(@RequestParam("listString[]") List<String> listString){
System.out.println("listString:"+listString.toString());
return RetMsg.success();
} /**
* List<User>传参
* @param listUser
* @return
*/
@RequestMapping("/listUsers")
@ResponseBody
public RetMsg listUsers(@RequestBody List<User> listUser){
System.out.println("username:"+listUser.get(0).getUsername());
return RetMsg.success();
} /**
* User[]传参
* @param arrayUsers
* @return
*/
@RequestMapping("/arrayUsers")
@ResponseBody
public RetMsg arrayUsers(@RequestBody User[] arrayUsers){
System.out.println("username:"+arrayUsers[0].getUsername());
return RetMsg.success();
} /**
* List<Map<String,Object>>传参
* @param listMap
* @return
*/
@RequestMapping("/listMap")
@ResponseBody
public RetMsg listMap(@RequestBody List<Map<String, String>> listMap){
System.out.println("username:"+listMap.get(0).get("username"));
return RetMsg.success();
} /**
* User对象传参
* @param arrayUsers
* @return
*/
@RequestMapping("/users")
@ResponseBody
public RetMsg users(@RequestBody User users){
System.out.println("username:"+users.getUsername());
System.out.println("username:"+users.getList().get(0).getUsername());
return RetMsg.success();
}
}
页面:
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<html>
<%application.setAttribute("path", request.getContextPath());%>
<head>
<script type="text/javascript" src="${path}/js/jquery.min.js"></script>
</head>
<body>
<h2>Hello World!</h2>
<button id="listString">List&lt;String&gt;传参</button>
<button id="listUser">List&lt;User&gt;传参</button>
<button id="arrayUsers">User[]传参</button>
<button id="listMap">List&lt;Map&lt;String,Object&gt;&gt;传参</button>
<button id="Users">User对象(属性包含List&lt;User&gt;)传参</button>
<script type="text/javascript"> // List<String>传参
$("#listString").click(function(){
var idList = new Array();
idList.push("1");
idList.push("1");
idList.push("1");
$.ajax({
type:"post",
url:"${path}/listString",
data:{"listString":idList},
dataType:"json",
success:function(retMsg){
if(retMsg.code==200){
alert("success");
}else{
alert("false");
}
}
})
}) // List<User>传参
$("#listUser").click(function(){
var userList = new Array();
userList.push({username: "zhangsan",password: "332"});
userList.push({username: "zhangsan",password: "332"});
$.ajax({
type:"post",
url:"${path}/listUsers",
data:JSON.stringify(userList),
dataType:"json",
contentType : 'application/json;charset=utf-8', //设置请求头信息
success:function(retMsg){
if(retMsg.code==200){
alert("success");
}else{
alert("false");
}
}
})
}) //传User对象数组
$("#arrayUsers").click(function(){
var userList = [{username: "李四",password: "123"},{username: "张三",password: "332"}];
$.ajax({
type: "POST",
url: "${path}/arrayUsers",
data: JSON.stringify(userList),//将对象序列化成JSON字符串
dataType:"json",
contentType : 'application/json;charset=utf-8', //设置请求头信息
success:function(retMsg){
if(retMsg.code==200){
alert("success");
}else{
alert("false");
}
}
});
}) // List<Map<String,Object>>传参
$("#listMap").click(function(){
var userList = new Array();
userList.push({username: "zhangsan",password: "332"});
userList.push({username: "zhangsan",password: "332"});
$.ajax({
type:"post",
url:"${path}/listMap",
data:JSON.stringify(userList),
dataType:"json",
contentType : 'application/json;charset=utf-8', //设置请求头信息
success:function(retMsg){
if(retMsg.code==200){
alert("success");
}else{
alert("false");
}
}
})
}) //User对象传参
$("#Users").click(function(){
var list = new Array();
list.push({username: "zhangsan",password: "332"});
list.push({username: "zhangsan",password: "332"});
var user = {};
user.username = "张三";
user.password = "密码";
user.list = list;
$.ajax({
type:"post",
url:"users",
data:JSON.stringify(user),
datatype:"json",
contentType:"application/json;charset=utf-8",
success:function(retMsg){
if(retMsg.code==200){
alert("success");
}else{
alert("false");
}
}
})
})
</script>
</body>
</html>

@RequestBody主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的);

GET方式无请求体,所以使用@RequestBody接收数据时,前端不能使用GET方式提交数据,而是用POST方式进行提交。

https://blog.csdn.net/justry_deng/article/details/80972817

页面ajax请求传参及java后端数据接收的更多相关文章

  1. 前端集合传参,springmvc后端如何接收

    废话不多说,上代码 后端接收对象: class ObjectA{ private String a; private String b; private List<ObjectB> lis ...

  2. 小程序页面跳转传参-this和that的区别-登录流程-下拉菜单-实现画布自适应各种手机尺寸

    小程序页面跳转传参 根目录下的 app.json 文件 页面文件的路径.窗口表现.设置网络超时时间.设置多 tab { "pages": [ "pages/index/i ...

  3. [转]ASP.NET MVC学习系列(二)-WebAPI请求 传参

    [转]ASP.NET MVC学习系列(二)-WebAPI请求 传参 本文转自:http://www.cnblogs.com/babycool/p/3922738.html ASP.NET MVC学习系 ...

  4. ajax请求传过来的json数据直接转成对应的实体类时出错:400 Bad Request 不进入controller

    今天开发过程中,在SpringMVC中的Action中处理前台ajax请求传过来的json数据直接转成对应的实体类时出错:400 Bad Request,后台也不报错,400指的的是请求无效(请求有语 ...

  5. 13.scrapy框架的日志等级和请求传参

    今日概要 日志等级 请求传参 如何提高scrapy的爬取效率 今日详情 一.Scrapy的日志等级 - 在使用scrapy crawl spiderFileName运行程序时,在终端里打印输出的就是s ...

  6. scrapy框架的日志等级和请求传参

    日志等级 请求传参 如何提高scrapy的爬取效率 一.Scrapy的日志等级 - 在使用scrapy crawl spiderFileName运行程序时,在终端里打印输出的就是scrapy的日志信息 ...

  7. scrapy框架之日志等级和请求传参-cookie-代理

    一.Scrapy的日志等级 - 在使用scrapy crawl spiderFileName运行程序时,在终端里打印输出的就是scrapy的日志信息. - 日志信息的种类: ERROR : 一般错误 ...

  8. 爬虫--Scrapy-参数等级和请求传参

    日志等级 日志等级(种类): ERROR:错误 WARNING:警告 INFO:一般信息 DEBUG:调试信息(默认) 指定输入某一中日志信息: settings:LOG_LEVEL = ‘ERROR ...

  9. Scrapy的日志等级和请求传参

    日志等级 日志信息:   使用命令:scrapy crawl 爬虫文件 运行程序时,在终端输出的就是日志信息: 日志信息的种类: ERROR:一般错误: WARNING:警告: INFO:一般的信息: ...

随机推荐

  1. 在论坛中出现的比较难的sql问题:7(子查询 判断某个字段的值是否连续)

    原文:在论坛中出现的比较难的sql问题:7(子查询 判断某个字段的值是否连续) 最近,在论坛中,遇到了不少比较难的sql问题,虽然自己都能解决,但发现过几天后,就记不起来了,也忘记解决的方法了. 所以 ...

  2. JDBC 学习复习10 编写自己的JDBC框架

    首先万分感谢狼哥 孤傲苍狼 博客,整个jdbc学习的博客资料 链接为http://www.cnblogs.com/xdp-gacl/p/4006830.html 详细代码见狼哥博客,列出我学习过程中遇 ...

  3. 【原创】大叔经验分享(94)jdbc连接mysql、sqlserver、oracle

    Mysql driver下载:https://mvnrepository.com/artifact/mysql/mysql-connector-java import java.sql.*; publ ...

  4. JS基础_使用工厂方法创建对象(了解下就行了,用的不多)

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  5. css滑动门技术

    滑动门的核心技术: 为了使各种特殊形状的背景能够自适应元素中文本内容的多少,以使自由拉伸滑动 利用css精灵(主要是背景位置)和盒子padding撑开宽度,以便适应不同字数的导航栏 一般经典布局 &l ...

  6. nginx 反向代理的配置

    nginx中的每个server就是一个反向代理配置,可以有多个server(nginx只能处理静态资源) nginx中 server的配置 server { listen 80; server_nam ...

  7. 如何对SAP Leonardo上的机器学习模型进行重新训练

    Jerry之前的两篇文章介绍了如何通过Restful API的方式,消费SAP Leonardo上预先训练好的机器学习模型: 如何在Web应用里消费SAP Leonardo的机器学习API 部署在SA ...

  8. Computer Vision_18_Image Stitching: Image Alignment and Stitching A Tutorial——2006(book)

    此部分是计算机视觉部分,主要侧重在底层特征提取,视频分析,跟踪,目标检测和识别方面等方面.对于自己不太熟悉的领域比如摄像机标定和立体视觉,仅仅列出上google上引用次数比较多的文献.有一些刚刚出版的 ...

  9. 怎么制作电脑系统安装U盘?

    现如今U盘安装电脑系统已经是非常普遍的一种方式,这种方式简单好用,能应对大多数情况,受到很多用户的欢迎. 雨后清风U盘启动是一款可将普通U盘制作为系统引导启动工具的软件,其制作的U盘启动盘融合了雨后清 ...

  10. nginx简单反向代理实例

    一.要做什么? 实例最后实现的效果图: 我们在浏览器地址栏上输入 wangtong,代理服务器获取请求,将请求转发至指定的 tomcat 上 二.怎样做? 1.准备环境 虚拟中中需要安装 JDK+To ...