在创建Ajax请求的上下文GET和POST之间的区别是什么?

我有一个发送AJAX请求GET:'getPendingList' 这个请求应该返回指示表挂起了需要批准的申请一个JSON字符串。 我对我是否应该使用GET或POST这里有点困惑。

从这个网站:

  • GET请求可以被缓存
  • GET请求可以保留在浏览器的历史
  • GET请求可以书签
  • GET请求可以分布&共享
  • GET请求可以被砍死(问雅各布!)

所以,我在想:我不希望这样的查询结果被缓存,因为悬而未决的名单可能会改变。 另外,使用POST似乎没有太大的意义无论是。

?我应该如何看待GET和POST我已经告诉GET是作为一个'读'是相同的; 它没有(或不应)改变在服务器端任何东西。 这是有道理的。 什么是没有道理的缓存部分; 它不会为我工作,如果别人缓存我的GET请求,因为我期待中的数据变化。

--------------解决方案-------------

雅虎的最佳做法可能是值得一读通过。 他们建议使用GET主要用于检索信息,并使用POST更新信息。 在一个单独的项目,他们也建议做AJAX请求被缓存在有意义。 检查出来,这是一个良好的阅读。

总之,GET请求应idempodent。POST请求都没有。

如果你正在改变状态, 使用 POST -以其它方式使用GET。

而且不要忘了,在谈及缓存使用GET / POST,这是浏览器的缓存。

没有从缓存中的数据服务器端阻止你。

此外,在一般- JSON调用应该是POST(这里的原因)

所以,一些IRC'ing后,它看起来像这样做的最佳方法是使用GET(在此特定实例),但为了防止缓存。 有两种方法可以做到这一点:

1)附加一个随机字符串为您的GET请求。

这似乎是一个哈克的方式做到这一点,但它听起来像它可能是IE唯一的解决办法:避免Ajax调用缓存。

2)在来自服务器的响应,设置标题为no-cache。

目前还不清楚明确的行为是对这个东西。 有些人(见前面的链接)声称,IE浏览器不尊重无缓存指令。 其他人似乎认为,这个工程:Internet Explorer 7中的Ajax的联系只加载一次。

分类:HTTP 时间:2015-03-15 人气:0
本文关键词: HTTP,张贴,得到
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.361 (s). 10 q(s)