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传值问题相关推荐

  1. springmvc中ajax,springmvc中ajax处理

    1.使用HttpServletResponse处理--不需要配置解析器 @Controller public class AjaxController { @RequestMapping(" ...

  2. mvc ajax get请求,springMVC 中 ajax get 请求和 post 请求的坑以及参数传递

    1, ajax 请求 无论为 post ,或者 get ,url中带有?形式的参数,后台都能以String类型变量接收,变量名称和参数名称必须一致 前台ajax: $.ajax( "prod ...

  3. springmvc中ajax请求406错误响应码

    在使用前台发送ajax无参请求,后台使用springmvc接收时,出现了406的情况 后端代码如下: @RequestMapping("findAll") @ResponseBod ...

  4. jeecg中ajax传值的前端js和后台代码

    前端js: var b=1; $.ajax({ type : "POST", --Post请求方式 url : 'orderController.do?wuliao', --路径 ...

  5. springMVC中ajax的实现

    function addDebtResult(){var repayIds=$("#repayIds").val();var lateFeeDay=$("#repayId ...

  6. springMVC中ajax使用json 对象 出现 状态代码: 415 Unsupported Media Type

    原因未添加依赖 $("#ajax4").click(function () {$.ajax({//请求的方式type: "post",//请求的路径url: & ...

  7. SpringMVC项目中中文字符乱码问题及解决办法总结(非专业最优解决办法) -- ajax传值乱码; request.getParameter()乱码;

    SpringMVC项目中中文字符乱码问题及解决办法总结(非专业最优解决办法) -- ajax传值乱码; request.getParameter()乱码; 参考文章: (1)SpringMVC项目中中 ...

  8. SpringMVC ajax传值问题

    SpringMVC ajax传值问题 AJAX前端请求数据处理 SpringMVC后台接受请求数据 SpringMVC对返回给前端数据处理 AJAX前端处理后台返回的数据 注意点: 1.ajax提交的 ...

  9. php表单复选传值,jQuery+SpringMVC中的复选框选择与传值实例_jquery

    下面我就为大家分享一篇jQuery+SpringMVC中的复选框选择与传值实例,具有很好的参考价值,希望对大家有所帮助. 一.checkbox选择 在jQuery中,选中checkbox通用的两种方式 ...

  10. springmvc 中controller与jsp传值

    在springmvc中的controller所对应的函数中,如果需要从*.jsp页面中获取数据,可以自行在函数括号中写,springmvc会自动封装传过来的. spring-mvc.xml <! ...

最新文章

  1. 出身清华,大神朱俊彦再出GauGAN:AI让你变身神笔马良
  2. mysql 主从热备_windows10本地两个mysql8服务配置主从热备
  3. python数据收集系统_玩玩Python数据采集_001
  4. matplotlib xticks 基于 旋转_咬文嚼字——对matplotlib的文字绘图总结
  5. Android service 小研究
  6. 关键路径-stl版_A*算法与蚁群算法相结合的无人艇巡逻路径规划
  7. 《认识电子计算机》的教学设计,认识计算机教学设计
  8. 一些个开源网站的搜集和整理——待续
  9. 企业管理中如何激励员工
  10. 计算机网络系统集成实验指导,系统集成实验指导.docx
  11. mtk驱动sensor移植
  12. python生成泊松分布随机数_python-介绍泊松分布(poisson分布)
  13. 华硕ac68u无线最佳设置_华硕AC86U,AC88U的掉线、断流问题何时彻底解决?
  14. 《软技能》读书笔记——职业篇
  15. 在剧里跟“刘亦菲”学营销:地推撬动“社交播传”
  16. 使用U盘启动盘安装Imperva MX13.0
  17. Photon教程——Photon的获取
  18. zookeeper集群伪分布式安装测试-windows
  19. 1024分论坛:人工智能创新应用的优化实践和多产业落地
  20. 大数据企业面试真题汇总三

热门文章

  1. c语言结构体指针元素不能赋值,C语言结构体指针必须被结构体变量赋地址或malloc后才能正常使用,不能单独赋值?...
  2. 【通信】基于Matlab模拟自适应SCMA资源调度算法设计
  3. nginx启动和配置
  4. @MapperScan原理探究
  5. 超详细的ARM架构适配介绍!
  6. epoch batch batch_size epochs分别是什么意思
  7. Linux虚拟机连不上网?别着急,先试试这个
  8. 四种解决VS2015安装包损坏或丢失的方法
  9. 机器学习(一)回归算法
  10. java文字、图片识别之tess4j Tesseract-OCR