springmvc中ajax传值问题
ajax传值
- 第一种传值
- 从前端传值到后端
- 前端接收后端传过来的值,方式有几种
- 第二种传值
- 从前端传递到后端
- 后端接收从前端发送过来的值
- 前端接收后端返回的json字符串
- 将java对象转化成json对象
第一种传值
从前端传值到后端
<script type="text/javascript">$(function () {$(":input[name='username']") .change(function () {var val=$(this).val();val=$.trim(val);if (val !=""){var url="${pageContext.request.contextPath}/valiateUserName";var args={"userName":val,"time":new Date()};$.post(url,args,function (data) {$("#msg").html(data);});}});});</script>
前端接收后端传过来的值,方式有几种
方式一:
@RequestMapping("/valiateUserName")public void validateUserName(HttpServletRequest request){List<String>userName=new ArrayList<String>();userName.add("AAA");userName.add("BBB");userName.add("CCC");System.out.println(request.getParameter("userName"));}
方式二:
@RequestMapping("/valiateUserName")@ResponseBodypublic String validateUserName(@RequestParam("userName") String username,@RequestParam("time") Date time) {// List<String>userName=new ArrayList<String>();
// userName.add("AAA");
// userName.add("BBB");
// userName.add("CCC");System.out.println(time);return "success";}
要注意的是userName和time要与前端的参数对应的话@RequestParam(“userName”)可以省去。
第二种传值
从前端传递到后端
var URL="${pageContext.request.contextPath}/valiateUserName";var args={"userName":val,"password":"123"};$.ajax({type:"post",url:"${pageContext.request.contextPath}/valiateUserName",data:JSON.stringify(args),//将json格式的数据转化成字符串形式发送到后端contentType: 'application/json;charset=utf-8',//发送给服务器的数据格式success(data){alert(data);}});
- 值得注意的是:JSON.stringify(args)和contentType: 'application/json;charset=utf-8’保证传递到后端的json是字符串格式的。
- 用此种方法后端不能用上面两种方法获取前端发送过来的值
后端接收从前端发送过来的值
方式一:用Map接收
@RequestMapping("/valiateUserName")@ResponseBodypublic String validateUserName(@RequestBody Map<String,String> getData) {// List<String>userName=new ArrayList<String>();
// userName.add("AAA");
// userName.add("BBB");
// userName.add("CCC");//1、已经从前端获取要查询的数据,并将这些数组分离装在集合里ArrayList<String> list=new ArrayList<String>();for(String key:getData.keySet()){String value=getData.get(key);list.add(value);}System.out.println(list.toString());return "success";}
方式二:用gson封装成一个对象
@RequestMapping("/valiateUserName")@ResponseBodypublic String validateUserName(@RequestBody String json) {//一定要加上的@RequestBody注解//json为:{"userName":"admin","password":"123"}
// List<String>userName=new ArrayList<String>();
// userName.add("AAA");
// userName.add("BBB");
// userName.add("CCC");LoginVO vo=gson.fromJson(json,LoginVO.class);System.out.println(vo.getUserName());return "success";}
需要注意的是:首先要导入Gson的依赖:
<dependency><groupId>com.google.code.gson</groupId><artifactId>gson</artifactId><version>2.2.4</version></dependency>
LoginVO是一个实体,这样就可以把前端传过来的json转化成对象了。
前端接收后端返回的json字符串
success(data){var txtObj = eval("("+data+")");//用eval解析json字符串alert(txtObj.userName);}
将java对象转化成json对象
//将java对象转化成jsonLoginVO loginVO=new LoginVO();loginVO.setUserName("ranqing");loginVO.setPassword("123");String str=gson.toJson(loginVO);System.out.println(str);return json;
springmvc中ajax传值问题相关推荐
- springmvc中ajax,springmvc中ajax处理
1.使用HttpServletResponse处理--不需要配置解析器 @Controller public class AjaxController { @RequestMapping(" ...
- mvc ajax get请求,springMVC 中 ajax get 请求和 post 请求的坑以及参数传递
1, ajax 请求 无论为 post ,或者 get ,url中带有?形式的参数,后台都能以String类型变量接收,变量名称和参数名称必须一致 前台ajax: $.ajax( "prod ...
- springmvc中ajax请求406错误响应码
在使用前台发送ajax无参请求,后台使用springmvc接收时,出现了406的情况 后端代码如下: @RequestMapping("findAll") @ResponseBod ...
- jeecg中ajax传值的前端js和后台代码
前端js: var b=1; $.ajax({ type : "POST", --Post请求方式 url : 'orderController.do?wuliao', --路径 ...
- springMVC中ajax的实现
function addDebtResult(){var repayIds=$("#repayIds").val();var lateFeeDay=$("#repayId ...
- springMVC中ajax使用json 对象 出现 状态代码: 415 Unsupported Media Type
原因未添加依赖 $("#ajax4").click(function () {$.ajax({//请求的方式type: "post",//请求的路径url: & ...
- SpringMVC项目中中文字符乱码问题及解决办法总结(非专业最优解决办法) -- ajax传值乱码; request.getParameter()乱码;
SpringMVC项目中中文字符乱码问题及解决办法总结(非专业最优解决办法) -- ajax传值乱码; request.getParameter()乱码; 参考文章: (1)SpringMVC项目中中 ...
- SpringMVC ajax传值问题
SpringMVC ajax传值问题 AJAX前端请求数据处理 SpringMVC后台接受请求数据 SpringMVC对返回给前端数据处理 AJAX前端处理后台返回的数据 注意点: 1.ajax提交的 ...
- php表单复选传值,jQuery+SpringMVC中的复选框选择与传值实例_jquery
下面我就为大家分享一篇jQuery+SpringMVC中的复选框选择与传值实例,具有很好的参考价值,希望对大家有所帮助. 一.checkbox选择 在jQuery中,选中checkbox通用的两种方式 ...
- springmvc 中controller与jsp传值
在springmvc中的controller所对应的函数中,如果需要从*.jsp页面中获取数据,可以自行在函数括号中写,springmvc会自动封装传过来的. spring-mvc.xml <! ...
最新文章
- springMVC 前后台日期格式传值解决方式之一(共二) @DateTimeFormat的使用和配置...
- 在数组里查找这样的数,它大于等于左侧所有数,小于等于右侧所有数
- OpenGL DoubleWrite的实例
- Linux的system和popen的差异
- 获取成员函数地址及获取函数地址
- 尚硅谷李老师笔记3DQL
- java字符的输入流_Java:字节流和字符流(输入流和输出流)
- python数据生成pdf,Python生成pdf文件的方法
- MapXtreme2004 连接oracle spatial的问题
- HDU2030 汉字统计【文本处理】
- (译)iOS Code Signing: 解惑
- 任意半径中值滤波(扩展至百分比滤波器)O(1)时间复杂度算法的原理、实现及效果。
- Windows 下OpenGL的基本安装与配置(基于Visual Studio 2019 与 MinGW)
- hibernate 数据分页显示 及 分页导航栏的设置
- 《Google软件测试之道》读书笔记---第一章
- 2018年5月28日 情绪、信念与身体 总得写点什么
- ffmpeg 查看bayer rg8 \ bg8 像素格式图片方法
- 人工智能在集装箱识别中应用
- K-means(K均值原型聚类)
- 视频原理和FFmpeg
热门文章
- 赛效:电脑在线九宫格切图怎么制作?
- 大数据分析工具之Kudu介绍
- IntelliJ IDEA 2018破解方法
- Dynatrace荣获ZD至顶网凌云奖“2016年度评选最佳应用性能管理奖”
- Python 标准库之 xml.etree.ElementTree
- unity3d环境安装指南: Unity 4.5.5 + Visual Studio 2010
- Python中实现数字按位取反
- Basemap和Seaborn
- 35岁的程序员被辞了,可以自己接外包吗,为什么35岁的程序员会感到悲观
- NAT与NAPT网络地址转换