2011-09-09 46 views
1

Auto refreshing with Javascript?的答案看起来正是我所需要的,但过了一段时间,我发现一些工作不像我想要的那样:(当我每隔5秒做一次计时器检查网页时,它会一直返回相同的字符串我认为这是因为它正在做F5的equivilant;重新下载页面只有当php脚本被我改变了,如果不是只发送我的Javascript什么在浏览器的缓存中,如果这使得任何问题是,页面实际上并没有每五秒重新上传一次,页面改变的原因是因为PHP显示的数据库内容。我想要的是一个类似于$ .get的函数,但是将更像Ctrl-F5,不使用任何缓存,只是重新下载整个页面。对不起,如果这没有任何意义...使用JQuery/JavaScript下载最新版本的页面?

更新:我要求的不是一个JavaScript脚本,Ctrl-F5的页面,我要求的是一个像$ .get这样的函数,无论从服务器上下载什么。 urgle,看到$ .get只从服务器下载,如果页面自x时间以来已被编辑过(如果没有,它会从浏览器的缓存中返回页面的副本),但我不希望它做x时间的事情,我只是希望它下载页面,不管最后编辑的时间。

回答

1

我总是抛出没用这样的查询:

$.get(url + '?v=' + Math.random(), success: function (data) { 
    // stuff 
}) 

math.random基本技巧的浏览器变成不缓存该请求。

+0

这看起来像我需要:) – MatthewSot

+1

好吧,我用upvotes喂养我的孩子;所以不要害羞:) – Joe

0

我可以想象的最佳解决方案是更新/重定向到将页面重定向回当前页面。我不确定javascript是否具有ctrl + f5功能。

+0

我要问的是不是一个Javascript脚本,按Ctrl-F5的页面,我要问的是一个像$ .get这样的函数,无论从服务器上下载什么。 urgle,请参阅$ .get仅从服务器下载,如果页面自x时间以来已编辑过,但我不希望它执行x时间的事情。 – MatthewSot

0

如果使用jQuery,则使用带有.ajax调用的缓存选项。或者追加一个日期戳到url来强制浏览器每次获取。

1

使用jQuery.ajax()。作为参数之一通过cache : false

例如,直接从文档:

$.ajax({ 
    url: "test.php", 
    cache: false, 
    success: function(){ 
    //whatever 
    } 
}); 

来源:http://api.jquery.com/jQuery.ajax/

+0

如果好奇,实际的实现会创建一个查询参数,它被设置为一个随机值(类似于@ IAbstractDownvoteFactor的响应)。 – calvinf

相关问题