Я только начал работать с HTML и java-скриптом. Я застрял между ними. Я создал одну веб-страницу, которая считывает данные из XML и выводит на страницу. Я могу сделать это успешно. Но если я изменяю данные XML и обновляю браузер, он не отражает обновленные данные на моей веб-странице. Если я очистил историю браузера вручную, а затем обновил страницу, он отобразит обновленные данные. Но я хочу, чтобы данные обновлялись, как только я обновлял страницу. Я не хочу каждый раз очищать историю браузера.Предотвращение кэширования ответа ajax
Мой сервер - это сервер Apache.
Мой HTML код:
<!DOCTYPE HTML PUBLIC "- HTML 4.0 Transitional//EN">
<html>
<TITLE>DynamicHTML Page</TITLE>
<META content="text/html; charset=windows-1252" http-equiv=Content-Type>
<META http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<META http-equiv="refresh" content="10";>
<META name=Author content="">
<META name=Keywords content="">
<body>
</div>
<xml ID="noteXML"
SRC="note.xml"></xml>
<script>
function ReadXML()
{
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","note.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;
document.getElementById("data").innerHTML= xmlDoc.getElementsByTagName("data")[0].childNodes[0].nodeValue;
document.getElementById("status").innerHTML= xmlDoc.getElementsByTagName("status")[0].childNodes[0].nodeValue;
}
</script>
<div>
<b>Require Data :</b> <span id="data"></span><br />
<div>
<b>Current Status:</b> <span id="status"></span><br />
<script>
ReadXML();
</script>
</body>
</html>
Мой XML:
<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<data> 450 </data>
<status> Reading Data From XML </status>
</note>
Я также попытался следующие действия, чтобы убедиться, что браузер не будет создавать Cashe, но ничего, кажется, работает.
<META http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<META http-equiv="refresh" content="10";>
try, 'xmlhttp.open (" GET "," note.xml? T = "+ (new Date()), false);' –
Спасибо за ответ Dharmesh ...... попробовал это –
Welcome , используйте это решение, если оно работает для вас, как оно всегда будет работать, в отличие от 'Math.random()', так как вы можете получить такое же случайное число в последующем запросе, где время всегда будет уникальным, и оно никогда не потерпит неудачу. –