当用户关闭浏览器时,我正在尝试更新我的数据库。我正在使用 ajax 和 window.onbeforeunload。这是代码。代码不执行。建议我哪里出错了
第一.php
<script type="text/javascript">
window.onbeforeunload = function() {
$.ajax({
url: 'logout.php',
type: 'POST',
async: false,
timeout: 4000
});
};
</script>
注销.php
<?php
$username = "root";
$password = "";
$hostname = "localhost";
$dbhandle = mysql_connect($hostname, $username, $password)
or die("Unable to connect to MySQL");
echo "Connected to MySQL<br>";
$selected = mysql_select_db("examples",$dbhandle)
or die("Could not select examples");
$result = mysql_query("DELETE FROM cars WHERE id='1'");
mysql_close($dbhandle);
?>
试试这个:上面的代码应该创建一个文件记录器.txt并在关闭窗口时写入它。
首先.php:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript">
window.addEventListener("beforeunload", function (e) {
$.ajax({
url: 'logout.php',
type: 'POST',
async: false,
timeout: 4000
});
})
</script>
注销.php//您可以在此处添加代码
$filename = "logger.txt";
$fd = fopen($filename, "a");
$dump="it came here";
$str = sprintf("[%s] %s", date("Y-m-d H:i:s"), $dump);
fwrite($fd, $str . "'n");
fclose($fd);
请尝试
以下操作并检查它是否有效!
$(window).bind('unload', function(){
$.ajax({
url: 'logout.php',
type: 'GET',
async: false,
timeout: 4000
});
});