【问题标题】:How would caching with this GET request work?使用此 GET 请求进行缓存如何工作?
【发布时间】:2019-02-06 00:17:20
【问题描述】:

我最近听说我的 GET 请求将被缓存,我对这对我的情况意味着什么有疑问。

我使用 javascript 发送一个 GET 请求:

var ajax = new XMLHtpprequest();
ajax.open("GET", "https://my-website.com/somepage.php");
ajax.onload = function () {
    // do something depending on the echoed response
}
ajax.send();

在我的 somepage.php 中:

$wp_user_id = get_current_user_id();
// echo something depending on the $wp_user_id back

我的理解是,当不同的登录用户打开 ajax 调用时,他们会得到最后一个缓存的 ajax 调用,这可能与他们各自的 wp_user_id 不一致。

我在我的网络服务器上使用没有插件的 wordpress。

我的问题:

  • 我是对的还是我对缓存的理解有问题?

  • 如果我错了,阻止这种行为的最佳方法是什么?

提前感谢您的任何回答!

【问题讨论】:

  • 要正确评估该 URL 的可缓存性,您需要提供请求和响应标头(您可以从浏览器开发工具中获取它们)。

标签: javascript php wordpress caching


【解决方案1】:

https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/response

您只需要编写一个响应处理程序。 (并监听 onreadystatechange)

xhr.onreadystatechange = function() {
  if (xhr.readyState === 4) {
    responseHandlerCallback(xhr.response);
  }
}

要防止缓存请求,请使用 cachebuster

https://yourdomain.com/web-api/handler.php?cb=ej0d293dj

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多