setInterval计时器,在谷歌浏览器可以正常进行,但是到IE下就会失效
IE浏览器下使用GET发送请求时,如果两次请求的地址和参数相同,在不刷新页面的情况下,浏览器会缓存第一次请求的内容,服务端更新后浏览器仍然显示第一次的内容。
如在当前页面用户登录,在未登陆的情况下,服务器返回的用户信息为空,点击登陆后发起请求返回的用户信息仍然为空。这是因为浏览器会对GET请求做缓存处理。
用处,定时发送请求来进行实时更新数据
例如:
if (tab.index == 2) {
// console.log(this.$store.state.robot.robot.items.length-1)
this.timer = setInterval(() => {
this.$axios
.get(
"/api/app/robot/" +
this.$store.state.robot.robot.items[index].id +
"/status",
{
headers: {
Authorization: "Bearer " + sessionStorage.access_token,
},
}
)
.then((res) => {
console.log(res.data.bootTime)
})
.catch((error) => {
console.log(error);
});
}, 1000);
} else {
clearInterval(this.timer);
this.timer = null;
}
谷歌下:
IE下