>웹 프론트엔드 >JS 튜토리얼 >AJAX 사용자는 로그인 후 어떻게 페이지로 이동합니까? Ajax 사용자 점프 페이지 설명(예제 포함)

AJAX 사용자는 로그인 후 어떻게 페이지로 이동합니까? Ajax 사용자 점프 페이지 설명(예제 포함)

寻∝梦
寻∝梦원래의
2018-09-10 14:04:0012647검색

이 글에서는 주로 사용자가 로그인한 후 ajax점프하는 상황을 소개합니다. 아래에 자세한 코드 예제가 있습니다. 도움이 필요한 친구들은 빨리 살펴보세요. 이제 이 글의 소개를 시작하겠습니다

최근에 TP 프레임워크 사용법을 배우고 있습니다. 백엔드 관리 시스템 작업을 할 때 백엔드 로그인 페이지를 사용자에게 실시간으로 알려주고 싶었습니다. 입력정보 상태

AJAX 사용자는 로그인 후 어떻게 페이지로 이동합니까? Ajax 사용자 점프 페이지 설명(예제 포함)

물론 동일한 사용자 이름과 비밀번호가 틀렸다고 판단하는 경우 백그라운드 검증을 거쳐 새로고침 없이 페이지에 표시되어야 하므로 가장 먼저 생각해야 할 것은 비동기 처리입니다(이것은 예술)

TP의 $this_ajaxReturn(); 메소드는 정보를 반환할 수 있습니다. 이전 섹션으로 이동하여 jq를 사용하여 해당 정보를 로컬에서 판단하고 새로 고칠 수 있습니다.

하지만 실제로 올바른 사용자 이름과 비밀번호를 입력하면 백그라운드 관리 페이지로 이동할 수 없으며 json 데이터 스트림만 반환됩니다.

AJAX 사용자는 로그인 후 어떻게 페이지로 이동합니까? Ajax 사용자 점프 페이지 설명(예제 포함)

AJAX 사용자는 로그인 후 어떻게 페이지로 이동합니까? Ajax 사용자 점프 페이지 설명(예제 포함)

백그라운드를 수신할 때 비동기적으로 사용하는 것으로 나타났습니다. 데이터를 반환하고 처리를 위해 js 코드에 맡기고 json 스트림을 반환하면 페이지를 새로 고치지 않고 백그라운드 리디렉션이 스트림에 들어갑니다. 수신된 응답을 통해서만 페이지 정보를 볼 수 있습니다. (자세한 내용을 보려면 PHP 중국어 웹사이트AJAX 개발 매뉴얼 열을 참조하세요.)

그러면 js에서 처리된다는 것을 알고 js 리디렉션을 사용할 수 있습니다. Windows.location.href='url '; 지정된 페이지로 이동

js code

$(function(){
    $('button').click(function(){
        var user = $('input[name=user]');        var pwd = $('input[name=pwd]');        var verify = $('input[name=verify]');        if(user.val() == ''|| pwd.val() == '')
        {
            $('[name=user]').focus();
            $(&#39;#errormsg&#39;).html("<strong>用户名或密码不能为空<strong>");            return false;
        }        else if(verify.val() == &#39;&#39;) 
        {
            $(&#39;#errormsg&#39;).html("<strong>验证码不能为空<strong>");            return false;

        }        else{

           $.ajax({
                    url: handle,
                    data:{&#39;user&#39;:user.val(),&#39;pwd&#39;:pwd.val(),&#39;verify&#39;:verify.val()},
                    type: "POST",
                    dataType:&#39;json&#39;,
                    success:function(data){
                            if(data.status == &#39;1&#39;){
                             window.location.href = dr;
                            }                            else if (data.status == &#39;2&#39;) {
                               $(&#39;#errormsg&#39;).html("<strong>验证码错误<strong>");
                            }else if (data.status == &#39;0&#39;) {
                                $(&#39;#errormsg&#39;).html("<strong>用户名或密码错误!<strong>");
                            }
                        }, 
                        error : function(data) {
                            alert("出错:" + data.code);
                        }                  
                    });
            }
    });
})

백엔드 코드

$verify = I(&#39;verify&#39;,&#39;&#39;,&#39;md5&#39;);        if($verify !== $_SESSION[&#39;verify&#39;])
            {                $this->ajaxReturn(array(&#39;status&#39; =>&#39;2&#39;));                die();
            }        $username=I(&#39;user&#39;,&#39;&#39;,&#39;&#39;);        $passward=I(&#39;pwd&#39;,&#39;&#39;,&#39;&#39;);        $date=M(&#39;admin&#39;,NULL);        $date->where(array(&#39;username&#39; => $username))->find();        if($date and $date->passward == $passward)
        {            $id = $date->id;            $login_time = time() ;            $login_ip = get_client_ip();            $date = array(&#39;id&#39; => $id,&#39;login_ip&#39; => $login_ip,&#39;login_time&#39; => $login_time );
            M(&#39;admin&#39;)->save($date);
            session(&#39;uid&#39;,$date[&#39;id&#39;]);
            session(&#39;ip&#39;,$date[&#39;login_ip&#39;]);            // $this->ajaxReturn(array(&#39;status&#39; =>&#39;1&#39;));
            // $this->success(&#39;登陆成功&#39;,U(&#39;Admin/Admin/index&#39;));
        }        else
        {            $this->ajaxReturn(array(&#39;status&#39; =>&#39;0&#39;));            $this->redirect(&#39;Admin/Index/index&#39;);
        }
    }

위에도 사용자 이름과 비밀번호가 올바른지 확인하기 위해 백그라운드 데이터를 받아들이는 과정이 있습니다

이 글 여기에서 끝납니다. (자세한 내용을 보려면 PHP 중국어 웹사이트AJAX 사용자 매뉴얼 열을 방문하세요.) 궁금한 점이 있으면 아래에 메시지를 남겨주세요.

위 내용은 AJAX 사용자는 로그인 후 어떻게 페이지로 이동합니까? Ajax 사용자 점프 페이지 설명(예제 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.