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

热门文章

  1. 使用Tailwind CSS创建自定义动画,进阶您的前端开发技能
  2. 单链表的基本操作【超全】
  3. PHP使用QPM实现多进程并行任务处理程序
  4. 算法——最长公共子串(一张图片看懂)
  5. Umbrello,免费而强大的UML工具
  6. 关于webpack的知识总结
  7. DBeaver导出sql脚本,执行sql脚本
  8. 云计算发展与FaaS平台
  9. win7图片查看器的注册表项_win7系统快捷方式被某应用程序强制关联的解决方法...
  10. 我的ROS学习笔记(四)