2012-11-14 50 views
0

我正在尝试在我的聊天中创建一个按钮,以允许某人打印对话。所以我创建了一个运行PHP脚本的按钮,该脚本创建一个新文件,将对话写入文件,并写入以下jQuery。为什么提交表单可以正常工作,但是我的ajax没有?

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> 

deleteFile.php

<?php 
$pageName = $_GET['pageName']; 
$fullURL = 'PrintPage'.$pageName.'.php'; 
unlink($fullURL); 

echo '<script>window.close();</script>'; 

?> 

当该页面显示出来,然后点击“关闭此窗口”按钮,它就是我想要的。它删除文件并关闭窗口。但是当我关闭窗口(又名OnBeforeUnLoad())时,我得不到相同的结果。我甚至尝试通过给表单提供一个id为deleteFiles的提交,然后执行$('#deleteFiles')。submit(),但它仍然不起作用。

如何让AJAX在OnBeforeUnLoad函数中工作?

+1

什么是'url:“。$ pageName。”'在那里做? –

+0

我上面更新了我的代码,但仍然无法正常工作。 – rjg132234

+0

也忘了提及..正在通过PHP添加jQuery调用,这就是为什么它具有URL:“。$ pageName”。 – rjg132234

回答

0

觉得自己像个假人....完成所有这些更改后...我发现所有我需要做的是添加

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

的头。

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

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

4

表格调用数据pageName,但阿贾克斯称它为url

您可能不希望以.个字符为前缀和后缀。

+0

另外,我猜他需要用引号来包装'pageName/url'的值,因为我怀疑当前存在的只是转义PHP字符串。 –

+0

不是AJAX变量“url”你想要在PHP文件中调用哪个变量? – rjg132234

+0

您需要将'input name =“pageName”'更改为'input name =“url”'以使其工作。 –

相关问题