ďťż

[Ajax,XML,JS] Aktualizacja XMLa na stronie W jaki sposób odświeżyć plik XML załadowany na stronie?

       

Podstrony


telcocafe

Witam.

Stworzyłem stronę, w której użytkownik może dodać swój komentarz, a ten jest zapisywany do pliku XML.
Mój problem polega na tym, że użytkownik nie widzi od razu efektów swojej pracy (czasem jest to dłuższa twórczość i może to stanowić dla niego problem).

Sam plik XML jest obsłużony prawidłowo - nowy wpis jest w odpowiedni sposób doń dodawany, jednak strona (zbudowana praktycznie w całości w JavaScripcie z wykorzystaniem DOM) nie wyświetla zaktualizowanego pliku. Podobnie rzecz się ma gdy zaraz po dodaniu komentarza otworzę w przeglądarce ów plik bezpośrednio. Wpisu nie ma. Dopiero gdy odświeżę otwarty bezpośrednio przez przeglądarkę plik XML, wpis pojawia się, a następnie (po wykonaniu odpowiednio zaprogramowanych czynności) widać go również na samej stronie.

Do wyświetlania zawartości używam Ajaxa; metoda GET, odwołuję się bezpośrednio do pliku, a odpowiedź odbieram przez responseXML.

Pytanie moje: jak sprawić, by w cudowny sposób, strona (po dodaniu przezeń kolejnego wpisu) automatycznie załadowała zaktualizowany plik XML?

Przeszukałem trochę sieć, ale nie znalazłem jednoznacznej odpowiedzi. Kilka razy przewinęło się coś o: Pragma: no-cache, czy też Cache-Control: no-cache. Źle szukałem, czy może to właśnie trzeba zastosować? A jeśli tak, w jaki sposób?

Z góry dziękuję.



keszowanie przeglądarek jest trudne do obejścia (plików JS, CSS, statycznych). Jedyne rozwiązanie to wrzucenie JSem/Ajaxem go do treści strony...

Może pomoże ci poniższy kod.
<?php header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past ?>
php.net: header()


Może pomoże ci poniższy kod.
<?php header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past ?>
php.net: header()


Dzięki, ale bardziej mi zależy na umieszczeniu wszystkiego w pliku Javascript i odwoływanie się przez Ajaxa. Próbowałem ustawić te parametry przez setRequestHeader, ale to nic nie dało. Nadal nowe wpisy pojawiają się dopiero po odświeżeniu strony.

A może to w pliku XML można/trzeba coś zmienić? Dodać jakiś zapis, czy coś tego typu?

Poradziłem sobie w najprostszy możliwy sposób - dodałem do adresu wywoływanego pliku końcówkę ?q=xyz, gdzie xyz jest obecną datą generowaną przez skrypt za każdym wywołaniem funkcji, więc i adres jest zawsze nieco inny. W ten sposób FF jest oszukany i odczytuje ten sam plik tak, jakby czytał coś innego.

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.