〇、前情提要
在看b站视频 - 尚硅谷Web前端Ajax教程初学者零基础入门到精通全套完整版(ajax最新版),中插了这个知识记录一下。
参考:
我的笔记:
【javaweb】b站-尚硅谷Web前端Ajax教程初学者零基础入门到精通全套完整版(ajax最新版) 笔记
/weixin_43210113/article/details/110628389
b站视频 - 尚硅谷Web前端Ajax教程初学者零基础入门到精通全套完整版(ajax最新版)
/video/BV1WC4y1b78y?p=2
笔记视频链接
链接:/s/1Wnwb42-AaqAlg6cQ0PRHwg
提取码:3waj
————————————————————————————
我的笔记:
【ajax】NodeJS的安装与介绍+express框架介绍与基本使用
/weixin_43210113/article/details/110636188
我的笔记:
【ajax】GET:AJAX案例准备+AJAX请求的基本操作+AJAX设置请求参数
/weixin_43210113/article/details/110656792
我的笔记:
【ajax】POST:AJAX发送POST请求+POST设置请求体
/weixin_43210113/article/details/110664818
我的笔记:
【ajax】JSON:服务端响应JSON数据+nodemon自动重启工具安装+Missing write access to /usr/local/lib/node_modules解决方法
/weixin_43210113/article/details/110792442
一、IE缓存问题解决
问题描述
ie浏览器会对数据进行缓存,下一次发送请求返回走的是原缓存,非最新数据。
4-IE缓存问题.html
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>IE缓存问题</title><style>#result{width:200px;height:100px;border:solid 1px #258;}</style></head><body><button>点击发送请求</button><div id="result"></div><script>const btn = document.getElementsByTagName('button')[0];const result = document.querySelector('#result');btn.addEventListener('click', function(){const xhr = new XMLHttpRequest();xhr.open("GET",'http://127.0.0.1:8000/ie);xhr.send();xhr.onreadystatechange = function(){if(xhr.readyState === 4){if(xhr.status >= 200 && xhr.status< 300){result.innerHTML = xhr.response;}}}})</script></body></html>
server.js
//1. 引入expressconst express = require('express');//2. 创建应用对象const app = express();//3. 创建路由规则//针对 IE 缓存app.get('/ie', (request, response) => {//设置响应头 设置允许跨域response.setHeader('Access-Control-Allow-Origin', '*');//设置响应体response.send('HELLO IE');});//4. 监听端口启动服务app.listen(8000, () => {console.log("服务已经启动, 8000 端口监听中....");});
nodemon打开server,测试,修改Response内容,测试。
chrome会自动改变,而IE不会变,因其走缓存。
时间戳
Date.now()
获取当前时间戳,让每次url不同
xhr.open("GET",'http://127.0.0.1:8000/ie?t='+Date.now());
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>IE缓存问题</title><style>#result{width:200px;height:100px;border:solid 1px #258;}</style></head><body><button>点击发送请求</button><div id="result"></div><script>const btn = document.getElementsByTagName('button')[0];const result = document.querySelector('#result');btn.addEventListener('click', function(){const xhr = new XMLHttpRequest();xhr.open("GET",'http://127.0.0.1:8000/ie?t='+Date.now());xhr.send();xhr.onreadystatechange = function(){if(xhr.readyState === 4){if(xhr.status >= 200 && xhr.status< 300){result.innerHTML = xhr.response;}}}})</script></body></html>