我正在为一家研究公司开发一个Web应用程序,其中一个要求是用户一次只能登录一台设备.
所以我开发了一个非常基本的系统,当你登录一些PHP更新数据库中用户的行从0到1时,当你点击注销按钮时,它会再次从1更新到该行.
唯一的问题是,如果用户不使用注销按钮并只是关闭浏览器,它将结束会话并将其注销,但数据库中的行将不会更新.
有没有办法在浏览器关闭时更新数据库?
您可以使用unload事件,在该事件中您将向服务器发送ajax请求,这将更新mysql中的标志。您可以尝试遵循jquery语法。
$(window).bind('unload', function(){
$.ajax({
type: 'get',
async: false,
url: 'path/to/file.php'
});
});
Run Code Online (Sandbox Code Playgroud)
没有可靠的方法.你可以在页面关闭时调用一个javascript函数,然后向你的服务器发出一个请求,告诉它会话已经完成,但是:javascript可能会被关闭,甚至可能根本没有执行.最好的办法是使用超时:存储最后一次操作的时间.如果超过10分钟前,会话"过期".
| 归档时间: |
|
| 查看次数: |
6955 次 |
| 最近记录: |