我正在尝试在聊天中创建一个按钮,允许某人打印对话。所以我创建了一个运行PHP脚本的按钮,该脚本创建了一个新文件,将对话写入文件,并编写了以下jQuery。
jQuery AJAX Call
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>
deleteFile.php
<?php
$pageName = $_GET['pageName'];
$fullURL = 'PrintPage'.$pageName.'.php';
unlink($fullURL);
echo '<script>window.close();</script>';
?>
当页面出现并点击“关闭此窗口”按钮时,它完全符合我的要求。它删除文件并关闭窗口。但是当我关闭窗口时,我得不到相同的结果(又名OnBeforeUnLoad())。我甚至尝试通过给表单提供deleteFiles的id然后执行$('#deleteFiles')。submit()来触发提交,但它仍然无效。
如何让AJAX在OnBeforeUnLoad函数中运行?
答案 0 :(得分:4)
表单调用数据pageName
,但ajax将其称为url
。
您可能不希望使用.
字符作为前缀和后缀。
答案 1 :(得分:0)
感觉像个假人......在完成所有这些改变之后......我发现我需要做的就是添加
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
到标题。
因为我在php中动态创建页面,所以我忘了我需要读取jQuery。
始终是小事......感谢大家的帮助。