【问题标题】:Aurelia Http fetch returns cached dataAurelia Http fetch 返回缓存数据
【发布时间】:2015-11-22 07:32:41
【问题描述】:

所以我是 Aurelia 和一般网络开发的新手。

目前我有一个包含数据表的视图。编辑条目并返回表后,我调用我的函数进行另一个 API 调用,但我的浏览器返回 304 未修改(尽管在数据库中的值已更新)。

当我在 Edge 中启用“始终从服务器刷新”时,我会得到预期的结果。有没有办法告诉这个 Http 请求总是调用 API 而不是从缓存中调用?

【问题讨论】:

    标签: javascript web asp.net-web-api aurelia


    【解决方案1】:

    在我的脑海中,您可以更改您正在点击的网址,使其末尾有一些垃圾。

    this.http.get(url + "?_t=" + new Date().getTime(), data).done(function(values) {
      //do stuff
    });
    

    不漂亮,但应该可以。

    同样,您可以构建自己的使用调用。

    nonCachedGet(url, data) {
      return this.http.createRequest(url)
                      .asGet()
                      .withContent(data)
                      .withParams({ _t: new Date().getTime() })
                      .send();
    }
    

    不过,似乎没有任何特定设置告诉内置请求方法不要缓存。

    【讨论】:

    • 谢谢,这似乎可以解决问题。所以我基本上是在诱使浏览器认为我在每次执行函数时都发送一个全新的请求?
    • 是的,就是这样。
    • 它是获取特定行为还是浏览器特定行为?
    • @MateuszJamiołkowski 不确定您所说的 fetch specific 是什么意思,但它在不同浏览器中的处理方式肯定是一样的。
    • 我在使用“普通”HTTP 客户端时确实遇到了同样的问题。
    猜你喜欢
    • 2016-10-16
    • 2017-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-17
    • 1970-01-01
    • 2016-03-12
    • 2011-10-25
    相关资源
    最近更新 更多