我开发了一个小部件,它提供了一个完整的归档搜索工具,用户可以在其中选择各种选项,这些选项加入到一个对象中,通过ajax操作传递给WP\\U查询,该操作通过JSON返回结果数据。
10个结果被发送回页面,因此需要分页。每次翻页时都会发送一个新请求。更多here.
我的问题是:为了减少请求负载,我希望如果在翻页后调用该操作,则不会发送有关查询的信息,而只发送更改页面顺序。
为了实现这一点,我假设解决方案是存储已经发送的查询。
怎么可能做到这一点?
谢谢
最合适的回答,由SO网友:webaware 整理而成
尝试直接回答这个问题:如果每次返回的数据都完全相同,则可以使用AJAX响应发送cache control/expires标头,以便浏览器暂时不再请求。
// ask the browser to cache this response, to reduce requests
$expires = 60 * 15; // 15 minutes
header(\'Pragma: public\');
header(\'Cache-Control: maxage=\' . $expires);
header(\'Expires: \' . gmdate(\'D, d M Y H:i:s\', time() + $expires) . \' GMT\');
但如果每次都需要不同的数据,这听起来像是(通过分页),那么缓存在这里对您没有任何帮助。
This answer on your other question 解释了为什么一次抓取小块会更好。