2013-08-29 59 views
0

當用戶刷新並分別發送內容兩次時,我的解決方法是獲取「重新提交發布數據」對話框,當內容發佈時,通過JavaScript強制刷新頁面。這似乎工作在webkit瀏覽器和IE瀏覽器,但不幸的是firefox不這樣工作。發佈/重定向/獲取與Firefox的同一頁面

問題是,後我需要用戶返回到相同的頁面有點混淆了我使用post/redirect/get方法,因爲它被描述在那裏,另一個頁面需要提供。即使我從PHP本身發送重定向頭,Firefox仍然會詢問重新提交。任何人都可以建議我如何解決這個問題?先謝謝你!

編輯:下面是一些代碼

if($_SERVER['REQUEST_METHOD']=="POST"){ 
    $user->validateSettingsData($_POST, TRUE); 
    echo "<div class='win box10'>Changes saved, please wait..</div>"; 

    header("Refresh: 2; url="); 
    exit(); 
} 
+0

只要添加一個隨機數並忽略輸入,如果隨機數無效 – Anigel

+0

對不起,我不明白:? –

+0

爲什麼不直接使用Ajax –

回答

1

您可以使用PHP來重定向。例如:

if (isset($_POST)) { 
    // processing the data 
    // .... 

    header('LOCATION: ' . $_SERVER['REQUEST_URI']); // <-- for dynamic URL 
    exit(); 
} 
+0

'即使我從php本身發送重定向頭文件,Firefox仍然會詢問重新提交。' –

+0

'header('Location:' –

+0

@php_nub_qq:哪個Firefox版本?Firefox通常遵守PRG模式,參見http://en.wikipedia 。org/wiki/Post/Redirect /獲取 – hakre

相關問題