我正在尝试在用户关闭浏览器时更新我的数据库。我正在使用ajax和window.onbeforeunload。这是代码。代码不执行。建议我出错的地方
First.php
<script type="text/javascript">
window.onbeforeunload = function() {
$.ajax({
url: 'logout.php',
type: 'POST',
async: false,
timeout: 4000
});
};
</script>
logout.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);
?>
答案 0 :(得分:2)
试试这个:上面的代码应创建一个文件 logger.txt 并在关闭窗口时写入。
<强> First.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>
logout.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);
答案 1 :(得分:1)
请尝试以下操作并检查它是否有效!
$(window).bind('unload', function(){
$.ajax({
url: 'logout.php',
type: 'GET',
async: false,
timeout: 4000
});
});