jQuery中的cache : false到底有什么用?-阿里云开发者社区

开发者社区> 安全> 正文
登录阅读全文

jQuery中的cache : false到底有什么用?

简介: 版权声明:欢迎转载,请注明沉默王二原创。 https://blog.csdn.net/qing_gee/article/details/80236856 写Ajax代码写了很多,但事实证明,编程水平的高低不在于代码有没有写很多遍,而在于有没有动脑子去思考。
版权声明:欢迎转载,请注明沉默王二原创。 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 中。

好了,现在是时候把以前在代码里写的错误修复一下了。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
+ 订阅

云安全开发者的大本营

其他文章