[英]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.