2013-10-20 136 views
2

我在一個php頁面中繪製了一個棋盤。每件作品都被設置爲可拖拽,並且每塊瓷磚都可以放置。一旦一塊被扔在一塊瓷磚上,我想重新加載php頁面,這樣板子就可以和新的位置一起重新繪製。 我該怎麼做:使用javascript重新加載php頁面,而不顯示窗口等要求確認的窗口,例如「要顯示此頁面,Firefox必須發送將重複執行的任何操作(例如搜索或訂單確認)先前 - >取消;重新發送「?使用javascript重新加載php頁面

或者也許有更好的解決方案?

+0

使用GET而不是POST將信息發送到服務器。 – Ratzor

回答

5

如果你想避免刷新報表數據(以任何理由,包括用戶點擊刷新按鈕),然後使用POST-REDIRECT-GET模式(http://en.wikipedia.org/wiki/Post/Redirect/Get)。閱讀它,它會解釋做什麼。

快速的解決方案:你可以嘗試:

window.location.reload(true); //true sets request type to GET 

使用GET,而非POST和你所得到的對話框會自動消失。

祝你好運!

+0

謝謝。它會重新加載php文件。但是確認窗口仍然彈出。此外,看起來我的作品需要更多時間才能出現在我的主板上,而他們沒有時間出現在沒有javascript的情況下。這是正常的事情嗎? –

+0

您確定使用GET而不是POST來向服務器發送信息嗎?它應該只發生在使用POST時......而且是正常的。你必須優化你的代碼:) – 2013-10-21 01:04:04

+0

是的,謝謝它現在正在工作:) 雖然我認爲我會直接修改DOM以移動件在JavaScript中。 –

1

利用

window.location.reload(); 
1

會自動刷新

<script> 
    var timer = null; 
    function auto_reload() 
    { 
     window.location = 'http://domain.com/page.php'; //your page location 
    } 

</script> 


<!-- Reload page every 10 seconds. --> 
     <body onload="timer = setTimeout('auto_reload()',10000);"> 

參考http://davidwalsh.name/automatically-refresh-page-javascript-meta-tags

+0

謝謝,這很有用 –