使用Ajax提交数据,进行前后台数据交互
2017-12-15 11:27
459 查看
HTML代码:
<input class="form-control" id="username" name="username" type="text"/> <input class="form-control" id="password" name="password" type="password"/> <button type="button" onclick="loginSubmit()">立即登录</button>
jQuery代码:
function loginSubmit() { var username = $("#username").val(); // 获取id为username的<input>框数据 var password = $("#password").val(); // 获取id为password的<input>框数据 // 判断 if (username.length == 0) { $("#username").tips({msg: "请输入用户名。"}); return; } if (password.length == 0) { $("#password").tips({msg: "请输入密码。"}); return; } // Ajax提交数据 $.ajax({ url: "admin/check_login", // 提交到controller的url路径 type: "post", // 提交方式 data: {"username": username, "password": password}, // data为String类型,必须为 Key/Value 格式。 dataType: "json", // 服务器端返回的数据类型 success: function (data) { // 请求成功后的回调函数,其中的参数data为controller返回的map,也就是说,@ResponseBody将返回的map转化为JSON格式的数据,然后通过data这个参数取JSON数据中的值 if (data.message == "success") { //跳转到系统首页 ...... } else { ...... } }, }); }
Ajax中success回调函数:
success: function(data)是Ajax在请求成功后自动调用的,所以这个方法是Ajax调用的,那么该方法的参数(data)便是Ajax提供的了。其中function(data)的参数data是客户端请求后台,由后台返回的值。
Controller代码:
@RequestMapping(value = "check_login",method = RequestMethod.POST) @ResponseBody public Map checkLogin( @RequestParam(value = "username") String username, @RequestParam(value = "password") String password){ Map<String,Object> map = new HashMap<>(); // 调用service查询数据库验证登录信息 ...... // 判断用户是否存在 if (user != null){ map.put("message", "success"); return map; } else { ...... } }
ajax会根据其中的url来找到对应的controller方法,@RequestParam会得到Ajax传过来的数据(即:data: {“username”: username, “password”: password}),并将其自动传入到方法形参中。service就可以使用形参值来获取数据了。controller方法调用完成后,Ajax会执行success回调函数,判断controller返回的map中的值是否为success。
使用Ajax提交代替传统的form表单提交的好处在于,Ajax使用异步方式与服务器通信,不需要打断用户的操作,具有更加迅速的响应能力。
相关文章推荐
- 使用jquery validate和ajax进行表单验证并向后台提交数据
- Android之使用HttpPost提交数据到服务器(Android手机客户端和后台服务器交互)
- struts2 + ajax(由前台的form提交数据到后台,再根据form所调用返回获取的后台json格式的数据返回到前端,然后前端用jquery对json数据进行解析)==》》涉及文件上传的部分
- Django中使用jquery的ajax进行数据交互的实例代码
- 使用Struts 2框架、ajax提交中文数据在后台乱码的问题
- 在使用ajax进行post提交数据注意
- Spring3 MVC 使用JSON进行前后台数据交互
- ajax方式实现注册功能(提交数据到后台数据库完成交互)
- 如何使用submit,进行ajax数据提交
- ajax 请求后台数据(及使用FormData对象提交表单及上传图片)
- 程序使用 HTTP 协议和服务器交互主要是进行数据的提交,通常数据的提交是通过 GET 和 POST 两种方式来完成
- Django 使用Ajax进行前后台交互的示例讲解
- 使用xmlhttprequest对象来进行AJAX的异步数据交互
- 使用jq+ajax向后台提交select input中的数据
- servlet,jsp使用ajax进行数据交互
- struts2 + ajax(由前台的form提交数据到后台,再根据form所调用返回获取的后台json格式的数据返回到前端,然后前端用jquery对json数据进行解析)==》》涉及非文件上传的部分
- 使用AJAX与后台交互局部数据
- Ajax 使用 json 进行数据交互,实现 级联菜单功能
- Django中使用Ajax进行前后台交互
- jQuery的ajax()检验用户名;通过jQuery的load()/get()/post()方法实现;使用XMLHTTPRequest对象来进行AJAX的异步数据交互