我的主要目标和实际情况:如果两个用户共享相同的凭据,那么第二个用户无法登录系统,直到第一个用户已经登录,退出系统。
实际上,当用户关闭浏览器窗口时,我想login_flag=0
在服务器数据库上进行设置。我用谷歌搜索并想出在之前发送一个 ajax 请求
$(window).on('unload', function(){ // ajax here with async:false });
或者
$(window).on('beforeunload', function(){ // ajax here with async:false });
它工作正常。但在 Chrome 中,它会记录以下消息:
主线程上的同步 XMLHttpRequest 已被弃用,因为它会对最终用户的体验产生不利影响。如需更多帮助,请查看http://xhr.spec.whatwg.org/。
我再次用谷歌搜索了相同的内容,并了解到在卸载事件中使用 Ajax 令人沮丧,并从此处找到以下详细信息
简而言之,他们反对使用async:false
withwindow.unload
或window.beforeUnload
方法的 ajax。如果我async
从 Ajax 中删除参数,那么它不会按预期工作。
如果用户关闭浏览器窗口,我想在服务器端进行一些活动,那么正确的方法是什么?