Javascript 关闭浏览器时使用ajax执行查询的解决方案
当用户关闭浏览器时,我正在尝试更新数据库。我正在使用ajax和window.onbeforeunload。这是代码。代码不执行。告诉我哪里出了问题 First.phpJavascript 关闭浏览器时使用ajax执行查询的解决方案,javascript,php,ajax,Javascript,Php,Ajax,当用户关闭浏览器时,我正在尝试更新数据库。我正在使用ajax和window.onbeforeunload。这是代码。代码不执行。告诉我哪里出了问题 First.php <script type="text/javascript"> window.onbeforeunload = function() { $.ajax({ url: 'logout.php', type: 'POST', async: false, timeout: 4000 });
<script type="text/javascript">
window.onbeforeunload = function() {
$.ajax({
url: 'logout.php',
type: 'POST',
async: false,
timeout: 4000
});
};
</script>
<?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);
?>
window.onbeforeunload=函数(){
$.ajax({
url:'logout.php',
键入:“POST”,
async:false,
超时:4000
});
};
logout.php
<script type="text/javascript">
window.onbeforeunload = function() {
$.ajax({
url: 'logout.php',
type: 'POST',
async: false,
timeout: 4000
});
};
</script>
<?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);
?>
请尝试下面的方法并检查它是否有效
$(window).bind('unload', function(){
$.ajax({
url: 'logout.php',
type: 'GET',
async: false,
timeout: 4000
});
});
请尝试下面的方法并检查它是否有效
$(window).bind('unload', function(){
$.ajax({
url: 'logout.php',
type: 'GET',
async: false,
timeout: 4000
});
});
尝试此操作:上述代码应创建一个文件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>
尝试此操作:上述代码应创建一个文件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>
不。未获得任何结果似乎有两个可用选项可供卸载和onbeforeunload。但这些命令不可靠&不推荐使用。看看一些老问题,下面是他们要说的:-如果你确实需要这个,每分钟发送一个请求,基本上告诉服务器“我还在这里”。然后,如果服务器没有收到这样的请求超过两分钟(你必须考虑延迟等),你考虑客户端FRONNE.NOPE。未获得任何结果似乎有两个可用选项可供卸载和onbeforeunload。但这些命令不可靠&不推荐使用。看看一些老问题,下面是他们要说的:-如果你确实需要这个,每分钟发送一个请求,基本上告诉服务器“我还在这里”。然后,如果服务器不接受这样的请求超过两分钟(你必须考虑延迟等),你认为客户端离线。有一个小问题。我希望在浏览器或选项卡关闭时执行查询,但如果该页面中存在任何按钮或链接,并且我单击其中任何一个,则查询也会执行。这方面你能帮我吗?有点问题。我希望在浏览器或选项卡关闭时执行查询,但如果该页面中存在任何按钮或链接,并且我单击其中任何一个,则查询也会执行。在这方面你能帮我吗?