加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

看到一个想收藏的的AJAX小列子

发布时间:2020-12-15 23:15:03 所属栏目:百科 来源:网络整理
导读:div style="text-align: left" },complete:span class="hljs-function"gt;span class="hljs-keyword"gt;function(span class="hljs-params"gt;XMLHttpRequest,textStatus){ span class="hljs-comment"gt;//请求完成后调用的回调函数(请求成功或失败时均调

<div style="text-align: left">

    },complete:<span class="hljs-function"&gt;<span class="hljs-keyword"&gt;function(<span class="hljs-params"&gt;XMLHttpRequest,textStatus){  <span class="hljs-comment"&gt;//请求完成后调用的回调函数(请求成功或失败时均调用)

    },<span class="hljs-attr"&gt;success:<span class="hljs-function"&gt;<span class="hljs-keyword"&gt;function(<span class="hljs-params"&gt;){  <span class="hljs-comment"&gt;//请求成功后调用的回调函数

    },<span class="hljs-attr"&gt;error:<span class="hljs-function"&gt;<span class="hljs-keyword"&gt;function(<span class="hljs-params"&gt;){  <span class="hljs-comment"&gt;//请求失败时被调用的函数

    }

});

<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"&gt;//前台的非空验证
<span class="hljs-keyword"&gt;if(user.loginCode == <span class="hljs-string"&gt;"" || user.loginCode == <span class="hljs-literal"&gt;null){
    $(<span class="hljs-string"&gt;"#loginCode").focus;
    $(<span class="hljs-string"&gt;"#formtip").css(<span class="hljs-string"&gt;"color",<span class="hljs-string"&gt;"red");
    $(<span class="hljs-string"&gt;"#formtip").html(<span class="hljs-string"&gt;"对不起,登录账号不能为空。");
}<span class="hljs-keyword"&gt;else <span class="hljs-keyword"&gt;if(user.password == <span class="hljs-string"&gt;"" || user.password == <span class="hljs-literal"&gt;null){
    $(<span class="hljs-string"&gt;"#password").focus;
    $(<span class="hljs-string"&gt;"#formtip").css(<span class="hljs-string"&gt;"color",<span class="hljs-string"&gt;"red");
    $(<span class="hljs-string"&gt;"#formtip").html(<span class="hljs-string"&gt;"对不起,登录密码不能为空。");
}<span class="hljs-keyword"&gt;else{
    $(<span class="hljs-string"&gt;"#formtip").html(<span class="hljs-string"&gt;"");
    <span class="hljs-comment"&gt;//如果账号和密码都不为空,就进行 ajax 异步提交
    $.ajax({
        <span class="hljs-attr"&gt;type:<span class="hljs-string"&gt;'POST',<span class="hljs-comment"&gt;//提交方法是POST
        url:<span class="hljs-string"&gt;'/login.html',<span class="hljs-comment"&gt;//请求的路径
        data:{<span class="hljs-attr"&gt;user:<span class="hljs-built_in"&gt;JSON.stringify(user)},<span class="hljs-comment"&gt;//以JSON字符串形式把 user 传到后台
        dataType:<span class="hljs-string"&gt;'html',<span class="hljs-comment"&gt;//后台返回的数据类型是html文本
        timeout:<span class="hljs-number"&gt;1000,<span class="hljs-comment"&gt;//请求超时时间,毫秒
        error:<span class="hljs-function"&gt;<span class="hljs-keyword"&gt;function(<span class="hljs-params"&gt;){  <span class="hljs-comment"&gt;//请求失败的回调方法
            $(<span class="hljs-string"&gt;"#formtip").css(<span class="hljs-string"&gt;"color",<span class="hljs-string"&gt;"red");
            $(<span class="hljs-string"&gt;"#formtip").html(<span class="hljs-string"&gt;"登录失败!请重试。");
        },<span class="hljs-attr"&gt;success:<span class="hljs-function"&gt;<span class="hljs-keyword"&gt;function(<span class="hljs-params"&gt;result){   <span class="hljs-comment"&gt;//请求成功的回调方法
            <span class="hljs-keyword"&gt;if(result != <span class="hljs-string"&gt;"" &amp;&amp; result == <span class="hljs-string"&gt;"success"){
            <span class="hljs-comment"&gt;//若登录成功,跳转到"/main.html"
                <span class="hljs-built_in"&gt;window.location.href=<span class="hljs-string"&gt;'/main.html';
            }<span class="hljs-keyword"&gt;else <span class="hljs-keyword"&gt;if(result == <span class="hljs-string"&gt;"failed"){
                $(<span class="hljs-string"&gt;"#formtip").css(<span class="hljs-string"&gt;"color",<span class="hljs-string"&gt;"red");
                $(<span class="hljs-string"&gt;"#formtip").html(<span class="hljs-string"&gt;"登录失败!请重试。");
                $(<span class="hljs-string"&gt;"#loginCode").val(<span class="hljs-string"&gt;'');
                $(<span class="hljs-string"&gt;"#password").val(<span class="hljs-string"&gt;'');
            }<span class="hljs-keyword"&gt;else <span class="hljs-keyword"&gt;if(result == <span class="hljs-string"&gt;"nologincode"){
                $(<span class="hljs-string"&gt;"#formtip").css(<span class="hljs-string"&gt;"color",<span class="hljs-string"&gt;"red");
                $(<span class="hljs-string"&gt;"#formtip").html(<span class="hljs-string"&gt;"登录账号不存在!请重试。");
            }<span class="hljs-keyword"&gt;else <span class="hljs-keyword"&gt;if(result == <span class="hljs-string"&gt;"pwderror"){
                $(<span class="hljs-string"&gt;"#formtip").css(<span class="hljs-string"&gt;"color",<span class="hljs-string"&gt;"red");
                $(<span class="hljs-string"&gt;"#formtip").html(<span class="hljs-string"&gt;"登录密码错误!请重试。");
            }<span class="hljs-keyword"&gt;else <span class="hljs-keyword"&gt;if(<span class="hljs-string"&gt;"nodata" == result){
                $(<span class="hljs-string"&gt;"#formtip").css(<span class="hljs-string"&gt;"color",<span class="hljs-string"&gt;"red");
                $(<span class="hljs-string"&gt;"#formtip").html(<span class="hljs-string"&gt;"对不起,没有任何数据需要处理!请重试。");
            }
        }
    });
}

});

<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"&gt;//后台非空验证
    <span class="hljs-keyword"&gt;if(user == <span class="hljs-keyword"&gt;null || <span class="hljs-string"&gt;"".equals(user)){
        <span class="hljs-keyword"&gt;return <span class="hljs-string"&gt;"nodata";
    }<span class="hljs-keyword"&gt;else{

    <span class="hljs-comment"&gt;//user 转换成 json 对象,再转成 java 对象
        JSONObject userObject = JSONObject.fromObject(user);
        User userObj= (User)userObject.toBean(userObject,User.class);

        <span class="hljs-keyword"&gt;try {
            <span class="hljs-keyword"&gt;if(userService.loginCodeIsExit(userObj) == <span class="hljs-number"&gt;0){<span class="hljs-comment"&gt;//不存在这个登录账号
                <span class="hljs-keyword"&gt;return <span class="hljs-string"&gt;"nologincode";
            }<span class="hljs-keyword"&gt;else{
                User _user = userService.getLoginUser(userObj);

                <span class="hljs-comment"&gt;//登录成功
                <span class="hljs-keyword"&gt;if(<span class="hljs-keyword"&gt;null != _user){
                    <span class="hljs-comment"&gt;//当前用户存到session中
                    session.setAttribute(Constants.SESSION_USER,_user);

                    <span class="hljs-comment"&gt;//更新当前用户登录的lastLoginTime
                    User updateLoginTimeUser = <span class="hljs-keyword"&gt;new User();
                    updateLoginTimeUser.setId(_user.getId());
                    updateLoginTimeUser.setLastLoginTime(<span class="hljs-keyword"&gt;new Date());
                    userService.modifyUser(updateLoginTimeUser);
                    updateLoginTimeUser = <span class="hljs-keyword"&gt;null;
                    <span class="hljs-keyword"&gt;return <span class="hljs-string"&gt;"success";
                }<span class="hljs-keyword"&gt;else{
                  <span class="hljs-comment"&gt;//密码错误
                    <span class="hljs-keyword"&gt;return <span class="hljs-string"&gt;"pwderror";
                }
            }
        } <span class="hljs-keyword"&gt;catch (Exception e) {
            <span class="hljs-keyword"&gt;return <span class="hljs-string"&gt;"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來源:简书简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读