如何更改请求以避免缓存结果?

时间:2011-06-28 07:43:39

标签: javascript jquery lighttpd

我从服务器获取带有函数(JQuery)的xml文件

function load_config_xml(){
    $.ajax({
        url: 'config/conf.xml',
        dataType: "xml",
        success:parse_xml,
        error: function(){
            alert("Error during loading xml file");
        }
    });
}

但它没有返回新的结果,lighttpd缓存。如何更改请求以避免缓存结果?

1 个答案:

答案 0 :(得分:1)

最简单的解决方法是明确使用POST请求。浏览器不会缓存这些:

function load_config_xml(){
    $.ajax({
        url: 'config/conf.xml',
        dataType: "xml",
        type: 'POST',     // here we go
        success:parse_xml,
        error: function(){
            alert("Error during loading xml file");
        }
    });
}

jQuery还提供了cache选项,您可以将其设置为false。这产生了一些结果:

cache: false

基本上jQuery只会修改每个请求的查询字符串,当然你也可以自己做:

url: 'config/conf.xml?cachebuster=' + (+new Date())