【问题标题】:Downloading LATEST version of a page with JQuery/JavaScript?使用 JQuery/JavaScript 下载最新版本的页面?
【发布时间】:2011-09-09 23:19:57
【问题描述】:

Auto refreshing with Javascript? 上的答案似乎正是我所需要的,但过了一会儿我发现有些东西不像我想要的那样工作:( 当我设置一个计时器每 5 秒检查一次网页时,它一直返回即使在页面更改后相同的字符串我认为这是因为它正在执行 F5 的等价物;仅当我更改了 php 脚本时才重新下载页面,如果不只是发送我的 Javascript 浏览器缓存中的内容,如果这很有意义.问题是,页面实际上并没有每五秒重新上传一次,页面会改变的原因是因为PHP正在显示的数据库内容.我想要一个类似于$的函数.get 但会更像 Ctrl-F5,不使用任何缓存,只是重新下载整个页面。对不起,如果这没有任何意义...

更新:我要的不是 Ctrl-F5 页面的 Javascript 脚本,我要的是像 $.get 这样的函数,无论如何都可以从服务器下载。 urgle,看,$.get 仅在页面自 x 次被编辑时才从服务器下载(如果没有,它将从浏览器的缓存中返回页面的副本),但我不想要它要做 x 时间的事情,我只想让它下载页面,不管上次编辑的时间。

【问题讨论】:

    标签: javascript jquery download


    【解决方案1】:

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

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

    math.random 基本上是在欺骗浏览器不缓存该请求。

    【讨论】:

    • 这看起来像我需要的:)
    【解决方案2】:

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

    例如,直接来自文档:

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

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

    【讨论】:

    • 如果好奇,实际实现会创建一个查询参数,该参数设置为随机值(类似于@IAbstractDownvoteFactor 的响应)。
    【解决方案3】:

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

    【讨论】:

    • 我要的不是 Ctrl-F5 页面的 Javascript 脚本,我要的是像 $.get 这样的函数,无论如何都可以从服务器下载。 urgle,看,$.get 仅在页面自 x 时间以来已被编辑时从服务器下载,但我不希望它执行 x 时间的事情。
    【解决方案4】:

    如果使用 jQuery,请在 .ajax 调用中使用缓存选项。或者在 url 上附加一个日期戳,以强制浏览器每次都获取。

    【讨论】:

      猜你喜欢
      • 2014-02-21
      • 2013-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-13
      • 2011-11-15
      相关资源
      最近更新 更多