2016-07-13 15 views
7

Mam formularz aktualizowany na wywołanie AJAX.window.location.href i location.reload() nie ładuje zaktualizowanej strony z serwera

Po nawiązaniu połączenia Ajax chcę przeładować tę samą stronę, aby odzwierciedlić nowe zmiany.

Użyłem location.reload() i window.location.href po powodzeniu wywołania AJAX, wykonywane jest prawidłowe RELOAD na przeglądarce, ale formularz pokazuje stare dane, a nie nowe.

Po ponownym załadowaniu strony przy użyciu przycisku przeładowania przeglądarki zostaną wyświetlone nowo zaktualizowane dane.

Ale jak poprawnie załadować stronę za pomocą jQuery?

+0

To brzmi jak problemu buforowania. Zamiast przeładowywać całą stronę, możesz dołączyć nowe dane do DOM? –

+0

Czy jesteś pewien, że czekasz, aż połączenie AJAX powiedzie się? Wcześniej widziałem ludzi * rozpoczynanie * połączenia, a następnie ponowne ładowanie strony przed jej zakończeniem. (Linia kodu po wysłaniu AJAX nie jest po jej zakończeniu, musisz użyć wywołania zwrotnego) – Katana314

+0

Wygląda na problem z pamięcią podręczną, ponieważ po prostu wciskam prosty przycisk Załaduj ponownie w Chrome i nowe dane są odzwierciedlone, nie wykonałem HARD REFRESH – Umair

Odpowiedz

6

Metoda reload(forcedReload) przyjmuje flagę typu Boolean, która, gdy jest prawdziwa, powoduje, że strona zawsze jest ponownie ładowana z serwera. Jeśli jest ona nieprawdziwa lub nie jest określona, ​​przeglądarka może ponownie załadować stronę z pamięci podręcznej.

Spróbuj:

// Reload the current page, without using the cache 
document.location.reload(true); 
+0

pracował ......... – Umair