},complete:<span class="hljs-function"><span class="hljs-keyword">function(<span class="hljs-params">XMLHttpRequest,textStatus){ <span class="hljs-comment">//请求完成后调用的回调函数(请求成功或失败时均调用)
},<span class="hljs-attr">success:<span class="hljs-function"><span class="hljs-keyword">function(<span class="hljs-params">){ <span class="hljs-comment">//请求成功后调用的回调函数
},<span class="hljs-attr">error:<span class="hljs-function"><span class="hljs-keyword">function(<span class="hljs-params">){ <span class="hljs-comment">//请求失败时被调用的函数
}
});
<h2 style="text-align: left">示例:
<h3 style="text-align: left">验证用户登录前台代码
<pre class="hljs javascript"><code class="javascript">$(<span class="hljs-string">"#loginBtn").click(<span class="hljs-function"><span class="hljs-keyword">function(<span class="hljs-params">){
<span class="hljs-keyword">var user = <span class="hljs-keyword">new <span class="hljs-built_in">Object();
user.loginCode = $.trim($(<span class="hljs-string">"#loginCode").val());
user.password = $.trim($(<span class="hljs-string">"#password").val());
<span class="hljs-comment">//前台的非空验证
<span class="hljs-keyword">if(user.loginCode == <span class="hljs-string">"" || user.loginCode == <span class="hljs-literal">null){
$(<span class="hljs-string">"#loginCode").focus;
$(<span class="hljs-string">"#formtip").css(<span class="hljs-string">"color",<span class="hljs-string">"red");
$(<span class="hljs-string">"#formtip").html(<span class="hljs-string">"对不起,登录账号不能为空。");
}<span class="hljs-keyword">else <span class="hljs-keyword">if(user.password == <span class="hljs-string">"" || user.password == <span class="hljs-literal">null){
$(<span class="hljs-string">"#password").focus;
$(<span class="hljs-string">"#formtip").css(<span class="hljs-string">"color",<span class="hljs-string">"red");
$(<span class="hljs-string">"#formtip").html(<span class="hljs-string">"对不起,登录密码不能为空。");
}<span class="hljs-keyword">else{
$(<span class="hljs-string">"#formtip").html(<span class="hljs-string">"");
<span class="hljs-comment">//如果账号和密码都不为空,就进行 ajax 异步提交
$.ajax({
<span class="hljs-attr">type:<span class="hljs-string">'POST',<span class="hljs-comment">//提交方法是POST
url:<span class="hljs-string">'/login.html',<span class="hljs-comment">//请求的路径
data:{<span class="hljs-attr">user:<span class="hljs-built_in">JSON.stringify(user)},<span class="hljs-comment">//以JSON字符串形式把 user 传到后台
dataType:<span class="hljs-string">'html',<span class="hljs-comment">//后台返回的数据类型是html文本
timeout:<span class="hljs-number">1000,<span class="hljs-comment">//请求超时时间,毫秒
error:<span class="hljs-function"><span class="hljs-keyword">function(<span class="hljs-params">){ <span class="hljs-comment">//请求失败的回调方法
$(<span class="hljs-string">"#formtip").css(<span class="hljs-string">"color",<span class="hljs-string">"red");
$(<span class="hljs-string">"#formtip").html(<span class="hljs-string">"登录失败!请重试。");
},<span class="hljs-attr">success:<span class="hljs-function"><span class="hljs-keyword">function(<span class="hljs-params">result){ <span class="hljs-comment">//请求成功的回调方法
<span class="hljs-keyword">if(result != <span class="hljs-string">"" && result == <span class="hljs-string">"success"){
<span class="hljs-comment">//若登录成功,跳转到"/main.html"
<span class="hljs-built_in">window.location.href=<span class="hljs-string">'/main.html';
}<span class="hljs-keyword">else <span class="hljs-keyword">if(result == <span class="hljs-string">"failed"){
$(<span class="hljs-string">"#formtip").css(<span class="hljs-string">"color",<span class="hljs-string">"red");
$(<span class="hljs-string">"#formtip").html(<span class="hljs-string">"登录失败!请重试。");
$(<span class="hljs-string">"#loginCode").val(<span class="hljs-string">'');
$(<span class="hljs-string">"#password").val(<span class="hljs-string">'');
}<span class="hljs-keyword">else <span class="hljs-keyword">if(result == <span class="hljs-string">"nologincode"){
$(<span class="hljs-string">"#formtip").css(<span class="hljs-string">"color",<span class="hljs-string">"red");
$(<span class="hljs-string">"#formtip").html(<span class="hljs-string">"登录账号不存在!请重试。");
}<span class="hljs-keyword">else <span class="hljs-keyword">if(result == <span class="hljs-string">"pwderror"){
$(<span class="hljs-string">"#formtip").css(<span class="hljs-string">"color",<span class="hljs-string">"red");
$(<span class="hljs-string">"#formtip").html(<span class="hljs-string">"登录密码错误!请重试。");
}<span class="hljs-keyword">else <span class="hljs-keyword">if(<span class="hljs-string">"nodata" == result){
$(<span class="hljs-string">"#formtip").css(<span class="hljs-string">"color",<span class="hljs-string">"red");
$(<span class="hljs-string">"#formtip").html(<span class="hljs-string">"对不起,没有任何数据需要处理!请重试。");
}
}
});
}
});
<h3 style="text-align: left">验证用户登录后台代码
<pre class="hljs java"><code class="java"> <span class="hljs-comment">/@responseBody注解的作用是将 controller 的方法返回的对象通过适当的转换器转换为指定的格式之后,写入到 response 对象的 body 区,通常用来返回 JSON 数据或者是 XML 数据,需要注意的是,在使用此注解之后不会再走视图处理器,而是直接将数据写入到输入流中,他的效果等同于通过response对象输出指定格式的数据。/
<span class="hljs-meta">@RequestMapping(<span class="hljs-string">"/login.html")
<span class="hljs-meta">@ResponseBody
<span class="hljs-function"><span class="hljs-keyword">public Object <span class="hljs-title">login<span class="hljs-params">(HttpSession session,@RequestParam String user){
<span class="hljs-comment">//后台非空验证
<span class="hljs-keyword">if(user == <span class="hljs-keyword">null || <span class="hljs-string">"".equals(user)){
<span class="hljs-keyword">return <span class="hljs-string">"nodata";
}<span class="hljs-keyword">else{
<span class="hljs-comment">//user 转换成 json 对象,再转成 java 对象
JSONObject userObject = JSONObject.fromObject(user);
User userObj= (User)userObject.toBean(userObject,User.class);
<span class="hljs-keyword">try {
<span class="hljs-keyword">if(userService.loginCodeIsExit(userObj) == <span class="hljs-number">0){<span class="hljs-comment">//不存在这个登录账号
<span class="hljs-keyword">return <span class="hljs-string">"nologincode";
}<span class="hljs-keyword">else{
User _user = userService.getLoginUser(userObj);
<span class="hljs-comment">//登录成功
<span class="hljs-keyword">if(<span class="hljs-keyword">null != _user){
<span class="hljs-comment">//当前用户存到session中
session.setAttribute(Constants.SESSION_USER,_user);
<span class="hljs-comment">//更新当前用户登录的lastLoginTime
User updateLoginTimeUser = <span class="hljs-keyword">new User();
updateLoginTimeUser.setId(_user.getId());
updateLoginTimeUser.setLastLoginTime(<span class="hljs-keyword">new Date());
userService.modifyUser(updateLoginTimeUser);
updateLoginTimeUser = <span class="hljs-keyword">null;
<span class="hljs-keyword">return <span class="hljs-string">"success";
}<span class="hljs-keyword">else{
<span class="hljs-comment">//密码错误
<span class="hljs-keyword">return <span class="hljs-string">"pwderror";
}
}
} <span class="hljs-keyword">catch (Exception e) {
<span class="hljs-keyword">return <span class="hljs-string">"failed";
}
}
}
<p style="text-align: left">关于 ajax() 方法更多详细参数及使用方法参见 <a href="https://link.jianshu.com/?t=http%3A%2F%2Fwww.w3school.com.cn%2Fjquery%2Fajax_ajax.asp" rel="nofollow" target="_blank">w3cschool手册
作者:Jason_M_Ho链接:https://www.jianshu.com/p/d36d8cd508ed來源:简书简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。