问题产生原因:
浏览器为了提高用户访问同一页面的速度,会对页面数据进行缓存。当url请求地址不变时,
有时候会导致浏览器不发送请求,直接从缓存中读取之前的数据。
如果数据改变了,而没加随机数,读取的数据会跟之前一样。
加上随机数,就是欺骗浏览器url改变了,会每次都向服务器发送请求而不去读缓存
找到的方法有:
一、JS,ajax请求地址后加随机参数,比如XXXX?t= + new Date().getTime()。
二、在url后面加一个随机数 url=test.jsp?number=Math.random();
document.write(“<script language= javascript src =’./jquery-1.8.3.min.js’>”);
//addEventListener监听器放在生命周期函数里,让页面先渲染完
window.onload = () => {
//点击事件所绑定的页面元素
let more01 = document.querySelector(“#YXlink01”);
//监听事件所修改的页面元素
let content01 = document.querySelector(“#YXcontent_more01”);
//监听事件:鼠标点击
more01.addEventListener(“click”,function(){
// $取到需要修改的页面元素,用attr修改地址,修改内容如下:
//核心代码↓
if(content01.style.display==”none”){
content01.style.display = “block”;*
$(function () {
$(“#YXlink_img01”).attr(“src”,”./resource/less.png?number=”+ Math.random());
});
}else{
content01.style.display = “none”;
$(function () {
$(“#YXlink_img01”).attr(“src”,”./resource/more.png?number=”+ Math.random());
});
}
})
//核心代码↑
// 监听事件:移动端触摸点击事件
more01.addEventListener(“touch”,function(){
if(content01.style.display==”none”){
content01.style.display = “block”;
$(function () {
$(“#YXlink_img01”).attr(“src”,”./resource/less.png?number=”+ Math.random());
});
}else{
content01.style.display = “none”;
$(function () {
$(“#YXlink_img01”).attr(“src”,”./resource/more.png?number=”+ Math.random());
});
}
})