pamięć przeglądarki a odczyt zmienionego JSON

0

Mam skrypt w JS, który za pomocą fetch() pobiera zawartość pliku JSON, a następnie wyświetla go w konsoli. To działa.

Teraz zmieniam zawartość pliku JSON, a następnie podmieniam go na serwerze (WinSCP). Okno przeglądarki cały czas otwarte. Spodziewam się, że ta sama strona z tym samym skryptem wyświetli zaktualizowaną zawartość pliku JSON. Tak się nie dzieje, skrypt dalej wyświetla poprzednią zawartość. Dopiero po pewnym czasie jest zmiana. Wyświetlanie treści pliku następuje po naciśnięciu na przycisk.

Gdzie tkwi problem?
a) skrypt JS
b) pamięć przeglądarki
c) odświeżanie serwera

3

Serwer. Nawet jeśli to przeglądarka keszuje to serwer powinien wysyłać nagłówek no-cache. Spróbuj po zmianie pliku odpalić ten URL nowej karcie i zrobić twardy refresh (CTRL+SHIFT+R).

0

Wystarczy reset w tym samym oknie. Tylko, że to miał być ajax :) Czyli lepiej zmienić serwer, bo na parametry tego akurat nie mam wpływu.

0

Czekaj, no, jak chcesz, żeby zawartość się zmieniła bez przeładowywania to sam musisz o to zadbać. Ale odpytuj o ten plik cyklicznie albo postaw po stronie serwera jakieś websockety.

0

Chodzi o to, że mam formularz z 2 opcjami. I w zależności od wybranej, zaciągam z JSONa albo treść jednego obiektu, albo drugiego. Czyli czytaj JSON po kliknięciu.

2

Zadbaj aby URL był za każdym razem inny.
https://<host>/file.json?foo=<random_val>. Wartość może być losowa lub zależna np. od czasu.

0

Wczoraj wieczorem wrzuciłem JSONa i sprawdziłem, czy go czyta na innym komputerze. Było ok.Teraz sprawdzam na innym i co? W pamięci przeglądarki nadal była zawartość starego JSONa. Dopiero Ctrl + Alt + R pomogło.

1 użytkowników online, w tym zalogowanych: 0, gości: 1