Начал знакомство з Ява и Аджаксом. Столкнулся с проблемой Вот код страницы Код (Text): <html><head> <script type="text/javascript"> function ajaxRead(file){ var xmlObj = null; if(window.XMLHttpRequest){ xmlObj = new XMLHttpRequest(); } else if(window.ActiveXObject){ xmlObj = new ActiveXObject("Microsoft.XMLHTTP"); } else { return; } xmlObj.onreadystatechange = function(){ if(xmlObj.readyState == 4){ updateObj('xmlObj', xmlObj.responseXML.getElementsByTagName('data')[0].firstChild.data); } } xmlObj.open ('GET', file, true); xmlObj.send (''); } function updateObj(obj, data){ document.getElementById(obj).firstChild.data = data; } </script> </head> <body> <a href="#" onclick="ajaxRead('data.xml')">Обновление новых даных</a> <p id="xmlObj">данные по умолчанию.</p> </body> </html> Проблема заключается в том, что браузер кеширует страницу. Тоесть при первом нажатии на ссылку данные загружаются с файла (в даном случае с data.xml). Но при последующих нажатиях на ссылку данные не обновляются. (независимо от изменения содержимого файла data.xml) Как можно с етим боротся? Иль может есть какае-то другое решение с применением ajax? Примечание: хочу перевести свой мини-чат на ajax (www.bershad.info)
очень просто..... отдавать xml скриптом..... он не отдает заголовки типа Last-Modified и т.д. и т.п. и соответственно не кешируется
из мануала: PHP: <?php header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past ?> если хочется еще подробнее - то идем сюда и читаем.
Всем спасибо! Все бы хорошо, но вот в чем дело: Ajax используєтся только в одном блоке "Мини-чат" из целого сайта. По сему не логично было бы запрещать кеширование всей страницы (а поскольку етот блок есть на каждой странице, то и всего сайта) ради одного мааленького блока. я пробавал присоеденять к ссылке переменную типа Код (Text): <a href='# <?echo time();?> '> значение которой не нужно, но генерируется случайно, или по времени. Но тоже ничего не получилось
bershadskij а для чего ты это делал? пхп отрабатывает на сервере. после генерации страницы эта ссылка будет все равно постоянной. про кеширование ты не так понял. заголовки надо посылать не при генерации всей страницы, а при отправке data.xml.
Пробовал.Не работает. Ведь дата.xml и так не кешируется. Более того, даже если после первой загрузки я УДАЛЮ data.xml то все равно при повторной перегрузке страницы и нажатии на ссылку появляются те же данные. Может со скриптом что не так, не дописан он, что ли?