0

我正在尝试在我的聊天中创建一个按钮,允许某人打印对话。所以我制作了一个运行 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 函数中工作?

4

2 回答 2

4

表单调用数据pageName,但 ajax 调用它url

您可能也不希望使用.字符为值添加前缀和后缀。

于 2012-11-14T13:56:14.210 回答
0

感觉像个傻瓜......在做了所有这些改变之后......我发现我需要做的就是添加

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>

到标题。

因为我是在 php 中动态创建页面,所以我忘记了我需要读取 jQuery。

总是小事..感谢大家的帮助。

于 2012-11-14T19:57:12.897 回答