使用此GET请求进行缓存如何工作?

时间:2018-08-31 01:43:31

标签: javascript php wordpress caching

我最近听说我的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。

我的问题:

  • 我正确吗?还是我对缓存了解一些错误?

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

感谢您提前提出任何答案!

1 个答案:

答案 0 :(得分:0)

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