2012-11-14 131 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」'以使其工作。 –

相關問題