2009-07-02 4 views
6

Ich versuche, eine Seite zu aktualisieren, ohne POST von der vorherigen Zeit zu senden.php Seite neu laden, ohne Daten zu posten

Ich habe

versucht
window.open("postme.php?r=t", "_self"); 

, die ein ?r=t bis zum Ende anhängt, aber es scheint nicht, die Seite zu aktualisieren, wie die Seite eine Reihe von Dateien in einem Verzeichnis zeigt, das nicht, obwohl sie ändern Ich habe sie verschoben oder gelöscht.

Können Sie die URL in window.location.reload(); angeben?

Irgendwelche Ideen?

Dank

Antwort

-1

dieses ...

Got zu arbeiten

window.location = "postme.php r = t?";

1

Sie könnten versuchen:

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

scheint nicht zu funktionieren ... immer noch eine Warnung über "Internet Explorer muss die Informationen, die Sie zuvor gesendet haben, erneut senden" – thegunner

+0

Haben Sie es ohne true, d. H. Window.location.reload() versucht? – karim79

+0

Das ist ein bisschen irreführend. 'location.reload (true)' wird eine Aktualisierung des Speicherorts erzwingen, ohne den Cache zu verwenden, aber das hängt vollständig vom Browser ab. Dafür gibt es keinen Standard. Es wird sicherlich kein "POST" in ein "GET" verwandeln, das wäre etwas wie "location.reload (location.href)". – kprobst

5

Wenn Sie vermeiden möchten, Berichtsdaten zu aktualisieren (aus irgendeinem Grund, einschließlich des Benutzers, der auf die Schaltfläche zum erneuten Laden klickt), verwenden Sie POST-REDIRECT-GET pattern.

1

Ich weiß, dass es zu spät ist, und hoffe, es gilt: Ich hatte das gleiche Problem, wenn jemand ihre Inventarauswahl bestätigt, sendet es dann die Bestellung [oder subtrahiert von der Inventardatenbank] und zeigt dann ihre Bestellung an. Wenn sie aktualisiert werden, werden die Daten erneut übertragen. Also habe ich eine session_destroy() hinzugefügt. aber dann, wenn sie aktualisieren, gibt es viele Fehler.

SO - i geteilt, um den Code in [a] eine E-Mail den Auftrag/subtrahieren aus der Inventardatenbank, dann [b] verwendet ein javascript "document.location.href = 'nextPage.php'", weil ich manchmal Probleme mit PHP "location (nextpage.php)". Wie auch immer, es sendet die Informationen per E-Mail und geht dann auf die Seite, die es anzeigt. dann kann man alles auffrischen, was sie wollen, und alles, was passiert, ist es immer und immer wieder.

hoffe das hilft!

0

Nun .. zu spät, nehme ich an, aber dann könnte es jemandem helfen. Ich benutzte:

window.location.href = window.location.href; 

Als Ersatz für location.reload(); Dadurch wird die Seite aktualisiert, ohne dass der Benutzer dazu aufgefordert wird, Informationen erneut zu senden.

2

Leiten Sie den Benutzer auf dieselbe Seite um, nachdem Sie die POST-Daten verwendet haben.

Wenn Sie jetzt aktualisieren, werden keine POST-Daten erneut gesendet.