Javascript 刷新浏览器缓存,以便对事件更新文件进行相同调用

Javascript 刷新浏览器缓存,以便对事件更新文件进行相同调用,javascript,asp.net,angularjs,caching,browser,Javascript,Asp.net,Angularjs,Caching,Browser,这是我的设想 Asp。网站 通过IFrame嵌入的Angular应用程序 第一个用户单击.net按钮,该按钮将响应保存在服务器上的.csv文件中。每次单击都会在文件上更新不同的数据 然后用户单击angular页面,该页面使用链接从该文件获取数据 现在的问题是缓存。因为每次引用相同的链接时,浏览器都会显示来自上一个请求的数据,而不会实际读取更新的文件。 我知道这是缓存问题的原因是,当我在新浏览器上打开它时,我会看到更新的内容。在我以不同的请求再次运行它之后,它再次向我显示相同的数据 我已经试过了

这是我的设想

  • Asp。网站

  • 通过IFrame嵌入的Angular应用程序

  • 第一个用户单击.net按钮,该按钮将响应保存在服务器上的.csv文件中。每次单击都会在文件上更新不同的数据

  • 然后用户单击angular页面,该页面使用链接从该文件获取数据

  • 现在的问题是缓存。因为每次引用相同的链接时,浏览器都会显示来自上一个请求的数据,而不会实际读取更新的文件。
    我知道这是缓存问题的原因是,当我在新浏览器上打开它时,我会看到更新的内容。在我以不同的请求再次运行它之后,它再次向我显示相同的数据

    我已经试过了

    $http.get(url, {cache: false}
    Response.Cache.SetCacheability(HttpCacheability.NoCache); 
    
    在我的aspx页面上,加载函数


    如何读取更新的文件?任何帮助都将不胜感激

    Response.Cache.SetExpires(DateTime.UtcNow.AddMinutes(-1)); Response.Cache.SetCacheability(HttpCacheability.NoCache); Response.Cache.SetNoStore()

    将此代码放入页面加载。现在缓存中没有数据,浏览器将尝试从服务器获取页面


    不幸的是,我找不到任何解决问题的办法,因此我改变了逻辑

    以下是我现在正在做的工作,非常有效:

    1 Asp。网站

    通过IFrame嵌入2个角度应用程序

    3第一个用户单击.net按钮,该按钮将响应保存在服务器上的.csv文件中。每次单击都会在文件上更新不同的数据。所以,我添加了一个函数,在每次单击时将时间戳添加到文件名中

    4通过查询字符串哈希值将文件发送到客户端脚本。将文件名添加为哈希值

    5在客户端使用$scope.$watch监视url,并在每次url更改时获取文件名并从该位置加载数据

    现在我面临的另一个问题是:

    如果有人能帮我的话


    谢谢

    不,它不工作了。我在chrome和IE上都试过了。让我再加一件事。作为iframe中的角度页面,它位于asp多视图内容的第二个视图中。我在激活该视图的按钮上添加了上述代码,但仍然相同。