关闭浏览器时使用 ajax 执行查询的解决方案
Solution to Execute a query using ajax when browser is closed
当用户关闭浏览器时,我正在尝试更新我的数据库。我正在使用 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
});
});
相关文章:
- 未捕获的语法错误:无法在“文档”上执行“查询选择器”
- 在node.js-mysql中执行UPDATE查询不起作用
- onchange选择get value并执行查询,然后在同一页面上显示结果
- AJAX 请求不会在 400 个错误查询上执行失败
- 关闭浏览器时使用 ajax 执行查询的解决方案
- 使用 Javascript 在 MongoDB 中使用希腊字符执行查询不会返回任何结果
- 节点JS-异步-响应是在执行查询时发送的
- NodeJS-如何通过执行查询获得mysql结果
- SSE和Ajax轮询在浏览器中执行查询而不是js代码的区别
- Sequelize——如何按顺序执行查询
- 在Symfony2中使用Typeahead + Bloodhound和FOSJsRoutingBundle执行查询
- 如何在jQuery成功的情况下执行查询?
- Javascript自执行查询函数
- Nodejs mysql无法执行查询
- 自动执行查询
- javascript承诺汇集连接并执行查询
- Websql 事务中的多个执行查询是否异步运行
- 我如何在猫鼬执行查询
- 对每个循环项执行查询并等待结果
- 在加载页面上执行查询