![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 15.08.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mój problem polega na wczytywaniu pliku za pomocą objektu XMLHttpRequest. No ale po koleji. Mam, krótki kod w którym testowałem jak zmieniać wygląd div'a za pomocą styli CSS. Zrobiłem to tak, że można zmieniac kolor np tekstu za pomocą JavaScriptu, następnie za pomocą XMLHttpRequest wysyłam dane POST'em do skryptu PHP, który generuje plik XML, który zawiera informacje o kolorze. Plik XML zapisywany jest na serwerze. Następnie gdy odswierzam strone, wywoluje funkcje JS, która tworzy znowu obiekt XMLHttpRequest, za pomocą, którego wczytuje informacje o kolorze i aplikuje je na stronce. Problem polega na tym, że wygląd się nie zmienia. Plik xml na serwerze jest uaktualniany, jednak AJAX ciągle wczytuje stary plik czyli stare ustawienia sprzed nadpisania pliku XML. Najgorsze jest to, że czasem działa jak powinno, więc cieżko mi się połapać gdzie jest błąd. Może przegladrka (Mozilla) zapamiętuje sobie gdzieś ten plik XML i zamiast ściągać nowy, korzysta ciągle ze starego? Proszę o pomoc. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Nie napisałeś jak nadpisujesz i odczytujesz ten plik oraz z jakiej biblioteki korzystasz. Odśwież zawartość tego diva, i sprawdź czy nie masz w tej bibliotece możliwość wyłączenia cache (zapamiętywania stanu wykonywanego kodu).
-------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 15.08.2010 Ostrzeżenie: (0%) ![]() ![]() |
Plik zapisuje za pomocą PHP zywczajnie, plik na serwerze nadpisuje sie prawidlowo, wyswietlam nawet pózniej na jednej stronie obie wersje tego pliku XML, tzn za pomoca xmlhttp.responseText gdy pobieram plik XML oraz gdy pobieram plik PHP, ktory za pomocą funkcji echo wyswietla ten plik XML. Wynik jest taki, że oba pliki mimo, że teoretycznie z tego samego źródła, różnią się (ten od xmlhttp.responseText jest nieaktualny). Narazie nie korzystam z żadnej biblioteki bo się uczę i moim zdaniem lepiej na początku robić wszystko samemu. Ale np teraz sobie odświerzyłem tą moją stronke i dane wreszcie się wczytały z tego faktycznie isniejącego na serwerze pliku. Ktoś wie jak wyłączyć cache bez biblioteki?
![]() |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
http://pl.wikipedia.org/wiki/XMLHttpRequest tutaj masz opis odnośnie zachowywania pamięci podręcznej, może coś z tego wyłuskasz.
-------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 15.08.2010 Ostrzeżenie: (0%) ![]() ![]() |
Wielkie dzieki
![]() Chodzi o to, że coś takiego ni jak nie przejdzie: Kod function startAjax(){
var xmlhttp = false; if(window.XMLHttpRequest){ xmlhttp = new XMLHttpRequest(); } else if(window.ActiveXObject){ xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } return xmlhttp; } function test(){ var xmlhttp = startAjax(); if(xmlhttp){ xmlhttp.open("POST", "file.xml", true); xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); xmlhttp.overrideMimeType("text/xml"); xmlhttp.onreadystatechange = function(){ if(xmlhttp.status === 200 && xmlhttp.readyState === 4){ delete xmlhttp; } } xmlhttp.send(null); } } |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 12.06.2025 - 17:52 |