最近碰到一个bug,在浏览器的兼容模式下,监听select下拉框变化并发送ajax请求,只有第一次成功,后面发送一直失败。最终找到原因。
ajax请求代码如下:
只有第一次值变化发送ajax请求成功,后面的一直失败,打断点查看后发现后面发送的ajax请求没有发送,直接取的第一次ajax请求返回的结果。
查找原因后发现:浏览器兼容模式默认是IE,GET请求时有缓存。
解决方法:
1. ajax请求时添加参数 cache: false
2. ajax请求时使用post请求
3. 在url后面拼接一个时间戳,如下: