[英]How to restrict multiple user logins at same time using JavaScript / jQuery
我已经使用JavaScript,jQuery开发了ASP.NET MVC应用程序。
我已经实现了使用onbeforeunload
/ beforeunloadevent
限制多个用户同时登录。
它工作正常,但有时在onbeforeunload
/ beforeunloadevent
。
var myEvent = window.attachEvent || window.addEventListener;
var chkevent = window.attachEvent ? 'onbeforeunload' : 'beforeunload'; /// make IE7, IE8 compitable
myEvent(chkevent, function (e) { // For >=IE7, Chrome, Firefox
if (!validNavigation)
{
$.ajax({
url: '@Url.Action("ClearSession", "Account")',
type: 'Post',
data: "",
dataType: "json",
success: function (data)
{
console.log("onbeforeunload Success")
},
error: function (data) {
console.log("onbeforeunload Error")
}
});
}
return null;
});
AJAX - jQuery
还有一个函数AJAX - jQuery
被称为complete: function(){};
此function
检查天气request is running
在浏览器上request is running
相同的用户名和密码,就像这里
complete: function() {
$(this).data('requestRunning', false);
}
整个AJAX-jQuery
实现在这里可以看到并相应地实现,我希望它对您有用
在这里编码
$('#do-login').click(function(e) {
var me = $(this);
e.preventDefault();
if ( me.data('requestRunning') ) {
return;
}
me.data('requestRunning', true);
$.ajax({
type: "POST",
url: "/php/auth/login.php",
data: $("#login-form").serialize(),
success: function(msg) {
//stuffs
},
complete: function() {
me.data('requestRunning', false);
}
});
});
看到这个me.data('requestRunning', false);
如果它将获得使用相同用户名和密码运行的任何请求,则returns false
并取消登录。
有关更多帮助,请参见此处。链接重复,Ajax防止单击多次请求
这不是完美的解决方案,但是您可以像这样实现
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.