我正在尝试在我的聊天中创建一个按钮,允许某人打印对话。所以我制作了一个运行 PHP 脚本的按钮,该脚本创建一个新文件,将对话写入文件,并编写以下 jQuery。
jQuery AJAX 调用
function OnBeforeUnLoad () {
$.ajax({
type: 'GET',
url: 'deleteFile.php',
data: {
pageName: ".$pageName."
},
dataType: 'text',
success: function(data){alert('Good bye 1!');}
});
return;
}
HTML 放入页面
<br/><br/><form method="get" action="deleteFile.php"> <input type="submit" value="Close this Window"/>
<input type="text" value="'.$pageName.'" name="pageName" style="visibility:hidden"/></form>
删除文件.php
<?php
$pageName = $_GET['pageName'];
$fullURL = 'PrintPage'.$pageName.'.php';
unlink($fullURL);
echo '<script>window.close();</script>';
?>
当页面显示并单击“关闭此窗口”按钮时,它完全符合我的要求。它删除文件并关闭窗口。但是当我关闭窗口(又名 OnBeforeUnLoad())时,我没有得到相同的结果。我什至尝试通过为表单提供 deleteFiles 的 id 然后执行 $('#deleteFiles').submit() 来触发提交,但它仍然不起作用。
如何让 AJAX 在 OnBeforeUnLoad 函数中工作?