IE下setInterval()失效问题

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下
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_40648700/article/details/112372604