龙空技术网

AdminLTE3 + AJAX 登录窗体

PEK5SHL 770

前言:

如今小伙伴们对“ajax请求了两次”大体比较注意,看官们都想要学习一些“ajax请求了两次”的相关文章。那么小编也在网络上搜集了一些关于“ajax请求了两次””的相关资讯,希望大家能喜欢,小伙伴们快快来了解一下吧!

登陆窗体的HTML就不复述了,就是用的AdminLTE的HTML, 主要是简单的AJAX请求,Session和PHP后端返回,公司的接口有俩。一个是LDAP验证用户和密码是否正确,还有一个接口是通过用户名返回用户的详细信息,因为只是内部使用,很简单的验证,没有设计token之类的,但是设计到同一html两次AJAX请求,大概的流程是:

登陆页面login.html->发送请求给check_user.php,返回flag和存储session -> login.html ajax请求得到用户详细信息

login.html Jquery

//通过用户名获取用户详细信息$.ajax({                url: 'url',                contentType: 'application/x-www-form-urlencoded', // 如果是post必须定义                async: false, //双ajax请求必须设成false                type: 'post',                data: {'UserID': name},                beforeSend:function (){                    Pace.restart(); //用的AdminLTE中的进度条插件                },                dataType: 'html',                success: function (html) {                    var quickExpr = /<.+?>[^<>]*?/gi;                    var EEE_Name = String(html.match(/<name>(.*?)<\/name>/g)); //因为返回的是一个不标准xml,所以直接去抓的<name>标签                    var EEE_Name_detail = EEE_Name.replace(quickExpr, "");                    sessionStorage.usenameName = EEE_Name_detail;                }            });            //通过用户名和密码发送给LADP服务器验证            $.ajax({                url: '../json/login_adid_check.php',                contentType: "application/x-www-form-urlencoded", // 如果是post必须定义                type: 'post',                data: {'name': name, 'pwd': pwd, 'type': type, 'domin': domin},                dataType: 'json',                success: function (data) {                    if (data.flag == 1) {                        sessionStorage.usenameID = data.usename;                        location.href = '../index.html';                    }                },                error: function () {                    modal_js.fail({ //这里用的modal.js小插件。。可以快速建立一个modal小窗口返回信息                        'msg': 'Pls recheck your userName and Password"',                        'icon': 2                    });                }            });

login_adid_check.php

<?php    header("content-type:application/json;charset=UTF-8"); //必须    $data = $_POST;    $flag = 0;    if ($data['type'] == 'adid') {        // connect to AD server        $ldapconn = ldap_connect("LDAP服务器") or die("Could not connect to AD server.");        //连接ad服务        $set = ldap_set_option($ldapconn, LDAP_OPT_PROTOCOL_VERSION, 3);    //设置参数,这个目前还不了解。        $name_1 = $data['domin'] . "\\" . $data["name"];        $name = $name_1 ? $name_1 : "";                       //接受需要认证的用户名和密码        $password = $data["pwd"] ? $data["pwd"] : "";        //验证用户名和密码。        $bd = ldap_bind($ldapconn, $name, $password);        $respose = [            'flag' => $bd,            'usename' => $data["name"],        ];        echo json_encode($respose);        ldap_close($ldapconn);    };?>

附带一个index.html上的按钮可以识别回车键

        $(document).keyup(function (event) {            if (event.keyCode == 13) {                $("#btnLogin").trigger("click");            }        })

标签: #ajax请求了两次