javascript – 防止缓存ajax响应
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 防止缓存ajax响应,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1916字,纯文字阅读大概需要3分钟。
内容图文
我刚开始使用HTML和java脚本.我被困在中间.我创建了一个Web页面,它从XML读取数据并显示在页面上.我能够成功地做到这一点.但是,如果我更改XML数据并刷新浏览器,则不会反映我网页上的更新数据.如果我手动清除浏览器历史记录然后刷新页面,它将显示更新的数据.但是我想在刷新页面后立即更新数据.我不想每次都清除浏览器历史记录.
我的服务器是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";>
解决方法:
您可以在文件中附加一个随机数:
xmlhttp.open("GET","note.xml?" + Math.random(),false);
这将确保浏览器始终获取最新版本,因为它永远不会缓存查找与随机匹配的缓存版本.
内容总结
以上是互联网集市为您收集整理的javascript – 防止缓存ajax响应全部内容,希望文章能够帮你解决javascript – 防止缓存ajax响应所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。