从缓存中防止JQUERY .load

Mar*_*ark 6 html jquery http

似乎在IE9中,使用jquery .load将从浏览器缓存中提取数据,因此AJAX加载内容的"实时"效果无效.是否有任何类型的开关强制jquery .load来获取数据新鲜?

Thansk!

lon*_*day 10

如果您使用的是$.ajax低级方法,则可以在jQuery中使用禁用缓存的选项.这未在简化签名中表示load.您可以通过确保URL始终是唯一的来模仿它.您可以将当前时间(以毫秒为单位)放在URL的末尾以实现该目的,因为这几乎总是唯一的:

url += '?_=' + (new Date()).getTime();
Run Code Online (Sandbox Code Playgroud)

(这假设这url是一个包含请求URL的字符串,并且它当前没有任何查询参数.)


kar*_*m79 7

或者您可以使用$.ajax和设置cache选项,false这将导致jQuery在引擎盖下的请求URL附加时间戳:

$.ajax( {
    url: "foo.html",
    type: "GET",
    cache: false,
    success: function(html) {
        $("#foo").html(html);
    }
});
Run Code Online (Sandbox Code Playgroud)