版权声明:欢迎转载,请注明沉默王二原创。 https://blog.csdn.net/qing_gee/article/details/80236856
写Ajax代码写了很多,但事实证明,编程水平的高低不在于代码有没有写很多遍,而在于有没有动脑子去思考。
很显然,我在jQuery的cache : false
问题上面就没有动脑子思考过,直到今天才后知后觉。
以前,为了确保每一个Ajax请求不被缓存,于是在Ajax的请求URL后加上"?rand=" + Math.random(),
,完全忽略了cache : false
的感受。
现在,我重新认识到,在type : 'GET'
的情况下cache : false
本身要做的工作就是在请求URL后添加一个随机时间戳:
好吧,我以前是多么的愚蠢!
另外,在type : 'POST
的情况下,cache : false
就不需要指定了,因为post请求本身就不会参与缓存。
比较 | GET | POST |
---|---|---|
后退按钮/刷新 | 无害 | 数据会被重新提交(浏览器应该告知用户数据会被重新提交)。 |
书签 | 可收藏为书签 | 不可收藏为书签 |
缓存 | 能被缓存 | 不能缓存 |
编码类型 | application/x-www-form-urlencoded | application/x-www-form-urlencoded 或 multipart/form-data。为二进制数据使用多重编码。 |
历史 | 参数保留在浏览器历史中。 | 参数不会保存在浏览器历史中。 |
对数据长度的限制 | 是的。当发送数据时,GET 方法向 URL 添加数据;URL 的长度是受限制的(URL 的最大长度是 2048 个字符)。 | 无限制。 |
对数据类型的限制 | 只允许 ASCII 字符。 | 没有限制。也允许二进制数据。 |
安全性 | 与 POST 相比,GET 的安全性较差,因为所发送的数据是 URL 的一部分。 | 在发送密码或其他敏感信息时绝不要使用 GET ! POST 比 GET 更安全,因为参数不会被保存在浏览器历史或 web 服务器日志中。 |
可见性 | 数据在 URL 中对所有人都是可见的。 | 数据不会显示在 URL 中。 |
好了,现在是时候把以前在代码里写的错误修复一下了。