【问题标题】:JQuery.ajax(), cache option IE8JQuery.ajax(),缓存选项 IE8
【发布时间】:2013-12-21 07:41:34
【问题描述】:

大家好,我试图理解这句话(来自JQuery.ajax())关于缓存选项:

除了在 IE8 中,当一个 POST 被发送到一个已经被访问过的 URL 由 GET 请求。

如果有人可以帮助我提供一些简单的示例和解释,我将非常感激,谢谢大家,祝你有美好的一天。

【问题讨论】:

  • 如果您在 IE8 中发出 GET 请求,然后对同一 URL 发出 POST 请求,IE8 将错误地返回缓存的响应而不是执行 POST。
  • 如果我理解例如我正在为 google.com 做一些 GET 请求,比做 POST 甚至不会发生 POST,我会得到缓存的 GET,所以通过做 cache = false , 根本不会有缓存,如果没有缓存我将能够发送 POST 你能告诉我我是否正确吗?

标签: jquery ajax browser-cache


【解决方案1】:

来自@Kevin B 的评论“如果您在 IE8 中发出 GET 请求,然后向同一 URL 发出 POST 请求,IE8 将错误地返回缓存的响应而不是执行 POST。”

$.ajax({
  type: "GET",
  url: "test1.htm"
});

/* In IE8 this comes from the cache */
$.ajax({
  type: "POST",
  url: "test1.htm"
});

$.ajax({
  type: "GET",
  url: "test2.htm",
  cache: false // adds a timestamp to the querystring
});

/* Even IE8 avoids the cache */
$.ajax({
  type: "POST",
  url: "test2.htm"
});

【讨论】:

  • 谢谢richaux,所以只要你能确认我做对了:在第一个 ajax 请求与 GET 和缓存 = true 后,test1.htm 被缓存,而不是在另一个 ajax 请求与 POST 到相同的 url (test1.htm) 浏览器返回ajax POST请求之前缓存的test1.htm?
  • 非常感谢 Richaux 和 Kevin。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-01-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-07
  • 1970-01-01
相关资源
最近更新 更多