小编典典

停止缓存 jQuery .load 响应

all

我有以下代码在 URL 上发出 GET 请求:

$('#searchButton').click(function() {
    $('#inquiry').load('/portal/?f=searchBilling&pid=' + $('#query').val());            
});

但返回的结果并不总是反映。例如,我在响应中进行了更改,吐出堆栈跟踪,但当我单击搜索按钮时堆栈跟踪没有出现。我查看了控制 ajax 响应的底层 PHP
代码,它具有正确的代码,并且直接访问页面显示了正确的结果,但是 .load 返回的输出是旧的。

如果我关闭浏览器并重新打开它,它会运行一次,然后开始返回过时的信息。我可以通过 jQuery 控制它还是需要我的 PHP 脚本输出标头来控制缓存?


阅读 72

收藏
2022-05-25

共1个答案

小编典典

您必须使用更复杂的功能,例如$.ajax()如果您想根据每个请求控制缓存。或者,如果您只想将其关闭,请将其放在脚本的顶部:

$.ajaxSetup ({
    // Disable caching of AJAX responses
    cache: false
});
2022-05-25