JavaScript 的灵异事件之一
场景
在做项目的时候需要用到Ajax 做多次的异步处理数据,
三次Ajax:A --ok--> B --ok--> C
在入参数据相同的情况下,做了两论这个操作,但发现没有发送 A 的 Ajax 就直接发送 B 的Ajax了,接着发送C 了,业务肯定就不能正常完成了。
多次测试都还是这样,A 没发送就已经是 success 的了,查看了Ajax 也没有些缓存,但还是依旧。
这时才考虑到是浏览器缓存了请求结果(浏览器是IE),只要请求url 和参数不变那结果就已经缓存好了,不会重复发送Ajax,而是直接在浏览器拿结果数据。
但业务不允许,所以只能在请求参数中加入时间戳来确保每次的请求参数都是不一样的,从而确保每次的异步操作都会发送到后台,获取最新的业务数据。
js 获取当前时间戳的几种方式:
第一种方法:
var timestamp = Date.parse(new Date());
第二种方法:
var timestamp = (new Date()).valueOf();
第三种方法:
var timestamp=new Date().getTime();