Maison  >  Article  >  interface Web  >  Comment les utilisateurs AJAX accèdent-ils à la page après s'être connectés ? Explication de la page de renvoi de l'utilisateur ajax (avec exemples)

Comment les utilisateurs AJAX accèdent-ils à la page après s'être connectés ? Explication de la page de renvoi de l'utilisateur ajax (avec exemples)

寻∝梦
寻∝梦original
2018-09-10 14:04:0012590parcourir

Cet article présente principalement la situation des utilisateurs ajax qui sautent après s'être connectés. Vous trouverez des exemples de code détaillés ci-dessous. Les amis dans le besoin devraient rapidement y jeter un œil. Commençons maintenant l'introduction de cet article

J'ai récemment appris l'utilisation du framework TP Lorsque je travaillais sur le système de gestion backend, j'ai créé une page de connexion backend que je voulais inviter. l'utilisateur en temps réel sur l'état de retour des informations saisies

Comment les utilisateurs AJAX accèdent-ils à la page après sêtre connectés ? Explication de la page de renvoi de lutilisateur ajax (avec exemples)

Bien sûr, en jugeant que le mauvais nom d'utilisateur et le mauvais mot de passe doivent passer par une vérification des antécédents et être affichés sur. la page sans rafraîchir, alors la première chose à laquelle penser est le traitement asynchrone (c'est la porte Art)

La méthode $this_ajaxReturn(); juger du rafraîchissement local des informations correspondantes.

Mais lorsque j'entre le nom d'utilisateur et le mot de passe corrects, je ne peux pas accéder à la page de gestion en arrière-plan et simplement renvoyer un flux de données json

Comment les utilisateurs AJAX accèdent-ils à la page après sêtre connectés ? Explication de la page de renvoi de lutilisateur ajax (avec exemples)

Comment les utilisateurs AJAX accèdent-ils à la page après sêtre connectés ? Explication de la page de renvoi de lutilisateur ajax (avec exemples)

Il s'avère que lorsque le mode asynchrone est utilisé pour recevoir les données renvoyées par l'arrière-plan, elles sont transmises au code js pour traitement et le flux json est ensuite renvoyé. la redirection en arrière-plan entre dans le flux au lieu de La page sera actualisée et les informations de la page ne pourront être vues qu'à travers la réponse reçue. (Si vous voulez en savoir plus, rendez-vous sur le site PHP chinois Colonne Manuel de développement AJAX pour apprendre)

Ensuite, nous savons qu'il est traité en js, nous pouvons donc l'utiliser js pour rediriger Windows.location .href='url'; Aller à la page spécifiée

Code js

$(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);
                        }                  
                    });
            }
    });
})

Code backend

$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;);
        }
    }

Ce qui précède comporte également le processus d'acceptation des données de base pour déterminer si le nom d'utilisateur et le mot de passe sont corrects

Cet article se termine ici ( si vous voulez en savoir plus, rendez-vous sur PHP chinois (Apprenez dans la colonne Manuel d'utilisation AJAX du site Web. Si vous avez des questions, vous pouvez laisser un message ci-dessous).

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn