纯 js 让浏览器不缓存 ajax 请求
开发「bufpay.com 个人即时到账收款平台」支付页面需要用到 ajax 轮询订单的支付状态。
现在浏览器对 ajax 的缓存策略遵循 http response header 里面的缓存设置,为了保证每次轮询需要获取最新的订单信息,我们需要对 ajax 请求做一些修改。
如果你使用 jquery 可以直接在 document ready 的时候用
$.ajaxSetup({ cache: false });
来让每个 ajax 请求都在后面添加时间戳。
bufpay.com 的支付页面为了最快的加载速度,就没有使用任何第三方库(jquery 库压缩后都有大概100K),所以这里就手动在每个 ajax 请求里面添加时间戳,代码如下:
//纯 js 实现 ajax 请求 var ajax = function(url, method, callback, params = null) {var obj;try {obj = new XMLHttpRequest();} catch(e){try {obj = new ActiveXObject("Msxml2.XMLHTTP");} catch(e) {try {obj = new ActiveXObject("Microsoft.XMLHTTP");} catch(e) {alert("Your browser does not support Ajax.");return false;};};};obj.onreadystatechange = function() {if(obj.readyState == 4) {callback(obj);};};obj.open(method, url, true);obj.send(params);return obj;};//请求的时候 var obj = ajax("{{domain}}/api/query/{{aoid}}?_=" + new Date().getTime(), "GET", function(obj) {// do something })
这样,就可以啦。
插播广告 ✧(≖ ◡ ≖✿)嘿嘿
转载于:https://www.cnblogs.com/worldsku/p/9184467.html
纯 js 让浏览器不缓存 ajax 请求相关推荐
- ie浏览器如何创建ajax,唯独ie浏览器缓存ajax请求
用fiddler调试http请求,在ie浏览器下,如果请求命中缓存,fiddler不会包含该请求.但是在chrome下会包含缓存的请求,Result显示为304. ie浏览器还会缓存通过ajax请求的 ...
- [js] 说说防止重复发送ajax请求的方法有哪些?各自有什么优缺点?
[js] 说说防止重复发送ajax请求的方法有哪些?各自有什么优缺点? // 方法一 防抖function debounce(f, ms) { let time; return function(){ ...
- js监测页面关闭发送Ajax请求(浏览器关闭注销用户,清空session)
说明: 需求为页面关闭发送一个ajax请求,使关闭浏览器及时清空session(浏览器关闭session并不会清空) 网站同时只能一个用户登录,同一账号后登录的用户不能把前一个登录的用户踢下线,有一个 ...
- 纯js实现瀑布流布局及ajax动态新增数据
本文用纯js代码手写一个瀑布流网页效果,初步实现一个基本的瀑布流布局,以及滚动到底部后模拟ajax数据加载新图片功能. 缺点: 1. 程序不是响应式,不能实时调整页面宽度: 2. 程序中当新增ajax ...
- js设置浏览器不缓存
关于浏览器缓存 浏览器缓存,有时候我们需要他,因为他可以提高网站性能和浏览器速度,提高网站性能.但是有时候我们又不得不清除缓存,因为缓存可能误事,出现一些错误的数据.像股票类网站实时更新等,这样的网站 ...
- 利用JS面向对象+模块化封装集AJAX请求、基本数据校验、URL参数截取等功能于一身的通用工具模块
以下为封装好的工具类代码,使用方法将在后边介绍. /*** Created by xiaoqiang on 2017/11/09.*/ 'use strict'; import $ from 'jqu ...
- h5-localStorage实现缓存ajax请求数据
使用背景:要实现每次鼠标hover"能力雷达",则显示能力雷达图(通过ajax请求数据实现雷达图数据显示),所以每次hover都去请求ajax会影响性能,因此这里要用到本地缓存. ...
- 浏览器如何发送ajax请求,浏览器关闭时,发送ajax请求
浏览器关闭时,发送ajax请求 发布于:2018.11.12 - 13:10 当用户在浏览器关闭时,向服务器后台发送ajax请求.代码如下. 测试结果:Safari浏览器不支持,其余浏览器支持. if ...
- html js 禁用浏览器上下滑动,纯JS阻止浏览器默认滚动事件,实现自定义滚动方法...
首先该方法兼容IE7+以上浏览器,可以实现页面上下滚动,而且也可以实现页面左右滚动,每次滚动的距离为屏幕的大小,滚动为加速滚动 javaScript代码如下: //滚动实现方法,使用鼠标滚轮每次滚动浏 ...
最新文章
- Android ViewAnimationUtils (动画) 的使用
- 小米发力AI场景下的“快应用”,投百亿资源扶持开发者
- ORACLE学习笔记--性能优化2
- div块内的CSS中心文本(水平和垂直)
- ConcurrentHashMap的源码分析-扩容结束以后的退出机制
- 让效率“爆表”的49个数据可视化工具
- 电话机器人图文+源码介绍
- 计算机考研数据结构高分笔记,2021版天勤计算机考研高分笔记系列:数据结构高分笔记(第9版)...
- 如何低成本做好网络营销
- CentOS简单上手——第四篇
- RAMOS (内存操作系统)-无忧百科(不断完善中)
- 自定义关机计算机,win7自定义定时关机设置方法是什么
- openSUSE:下载帮助
- plt.gca()画框及打标签
- 计算2个时间段的重叠天数
- 高3老师给大一学生的一封信
- 【转载】Cygwin安装
- python网盘搜索引擎_打造一个蓝奏云网盘搜索引擎
- Mac系统如何一键返回桌面?
- 中国第一个IT职场情商测评
热门文章
- qt扫雷鼠标c语言中文网,基于C语言实现的扫雷游戏代码
- 利用matlab的帮助功能分别查询inv,MATLAB实验报告第一章..doc
- Jenkins : 构建伟大,无所不能 —— docker 安装Jenkins(最新版)
- 20200710:动态规划复习day03
- c语言关键字识别程序,c语言-以关键字搜索程序
- LaTeX的历史:图灵奖得主1977年开启的计划,引发学术圈重大变革
- 用Julia学习微积分:这有一份高赞数学教程 | 附习题+代码
- 量子位「AI内参」正式上线,每日AI最全资讯一键Get!
- 红芯事件追踪:官方致歉承认基于开源架构;创始人履历被指夸大
- 雅马哈AI系统能自动为舞蹈配乐,跟节奏跳舞时代已不再