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 <! ...
最新文章
- Git clone密码输入错误如何修改
- hive启用本地模式
- HTTPD(三)--HTTP2.4.9编译安装
- C++对C的加强之 “实用性”增加
- 一篇文章学懂Shell脚本,最简明的教程在这里
- SpringBoot的基础
- python匿名函数里用for_请问这段Python代码如何用匿名函数简化?
- keycloak中文使用文档_基于DOCKER安装配置keycloak
- 【读书笔记】【独立思考】2018-04-03(2)
- python之sqlalchemy的使用
- svn 分支上新增文件合并发生冲突_SVN使用:分支合并及解决冲突详解
- 回归方程的拟合优度检验_回归分析的“拟合优度”是什么?
- u盘怎样修复服务器系统,高手教你怎么修复U盘的MBR
- 丹佛机场行李处理系统分析
- jupyter notebook无法连接python3服务器内核 一直显示正在连接服务器
- C# Base64编码、AES等编码加、解密
- C++ Learning
- Java---高级流
- 心理危机干预系统简介
- 手机也可以轻松码代码!两款手机端代码最佳神器Pydroid和Pythonista!