繁体   English   中英

登录成功后必须重定向到页面; 现在,它只是重新加载(刷新)页面

[英]Have to redirect to page after login succsess; Its now just reload (refresh) page

我正在使用login.js

var x = 10;
$(document).ready(function(){
       $('#do-login').click(function(){
              var login = $('#login');
              var pass = $('#password');
              var obj = $(this);
              if ( login.val().length === 0 ) {
                     obj.next('span')
                     .attr('class', 'inline-help')
                     .html('Empty <b>Login</b>').hide().fadeIn('slow');
                     login.focus();
                     return false;
              } else if ( pass.val().length === 0 ) {
                     obj.next('span')
                     .attr('class', 'inline-help')
                     .html('Empty <b>Password</b>').fadeIn('slow');
                     pass.focus();
                     return false;
              }

              $.ajax({
                     url : 'login-check.php' ,
                     type : 'POST',
                     data : {
                            'login' : login.val(),
                            'password' : pass.val(),
                            isAjax : true
                     },
                     dataType : 'json' ,
                     success : function(data){
                if(data === false)
                {
                    alert('You have reached maximum login limit, Please try login after 15 minutes.');
                }
                else if ( data === true )
                {
                    obj.next('span')
                    .attr('class', 'inline-info')
                    .html('Logged In <b>Successfully</b> !')
                    .hide().fadeIn();
                    setTimeout(function()
                    {
                        $('#login-form').slideUp('fast',function()
                        {
                            setTimeout(function()
                            {
                                                            location.reload(true);
                            },1000);
                        });
                    },1000);
                }
                else
                {
                    obj.next('span')
                    .attr('class', 'inline-help')
                    .html('Invalid <b>Login/Password</b><li style=padding-left:220px;>(Attempts <b>' + data + '/10</b>)').hide().fadeIn();
                }
                     }
              });
              return false;
       });
});

登录成功后,我必须重定向到http://myurl.com/panel 我已经改变了我的知识,但是没有成功。 你能帮我么 ?

您可以通过设置location.href值来执行此操作。 https://developer.mozilla.org/fr/docs/Web/API/window/location

var x = 10;
$(document).ready(function(){
       $('#do-login').click(function(){
              var login = $('#login');
              var pass = $('#password');
              var obj = $(this);
              if ( login.val().length === 0 ) {
                     obj.next('span')
                     .attr('class', 'inline-help')
                     .html('Empty <b>Login</b>').hide().fadeIn('slow');
                     login.focus();
                     return false;
              } else if ( pass.val().length === 0 ) {
                     obj.next('span')
                     .attr('class', 'inline-help')
                     .html('Empty <b>Password</b>').fadeIn('slow');
                     pass.focus();
                     return false;
              }

              $.ajax({
                     url : 'login-check.php' ,
                     type : 'POST',
                     data : {
                            'login' : login.val(),
                            'password' : pass.val(),
                            isAjax : true
                     },
                     dataType : 'json' ,
                     success : function(data){
                if(data === false)
                {
                    alert('You have reached maximum login limit, Please try login after 15 minutes.');
                }
                else if ( data === true )
                {
                    obj.next('span')
                    .attr('class', 'inline-info')
                    .html('Logged In <b>Successfully</b> !')
                    .hide().fadeIn();
                    setTimeout(function()
                    {
                        $('#login-form').slideUp('fast',function()
                        {
                            setTimeout(function()
                            {
                                 location.href = 'http://myurl.com/panel';
                            },1000);
                        });
                    },1000);
                }
                else
                {
                    obj.next('span')
                    .attr('class', 'inline-help')
                    .html('Invalid <b>Login/Password</b><li style=padding-left:220px;>(Attempts <b>' + data + '/10</b>)').hide().fadeIn();
                }
                     }
              });
              return false;
       });
});

Kevin Grosgojat对href的看法是正确的,但是,除非您使用cookie,否则,如果您在此处声明成功页面,则在浏览器控制台中查看js的任何人都可以获取地址,不是吗? 只能建议将所需的地址存储在ajax json成功响应中,然后通过私有变量将其传递给location.href。

加:这仍然是非常低级别的安全性。 目标页面存在于Web上,因此始终可以直接访问目标页面,从而绕过登录游戏。 原则上,您应该在HTTP传输中使用cookie和/或Oauth 2.0安全性……突然我的眼睛退缩了,嘴巴干了。 祝好运!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM