【问题标题】:Why does Safari execute fetch() twice when I refresh?为什么我刷新时 Safari 会执行 fetch() 两次?
【发布时间】:2019-01-22 22:08:41
【问题描述】:

我在 Glitch 上摆弄 HTML/JS。好有趣!我开始使用 fetch API 进行调用,这样我就可以与 SQLite 数据库进行交互,我在啄食时发现了一些奇怪的东西。我已经登录了我的方法,它们被调用了两次。

所以我做了一个项目来演示:http://safari-fetchfetch.glitch.me

您可以分叉/戳它以查看代码。每次调用端点/fetch 时,它都会记录服务器端。我希望每次访问都会发出一条日志消息。

这发生在 Safari 的 first 加载时。但是,在每次后续加载时,服务器都会将 two 记录记录到端点。为什么?我在 Chrome 中尝试过,但无法重现它。它似乎不会发生在 Safari 无痕浏览实例中。

我已尝试记录请求的更多部分,但没有任何问题。我看过一些页面说它可能与 CORS 有关,但这是同源的,对吗?即使我明确设置选项以使用同源策略,它也会继续。当我使用 Safari 的检查器查看该请求的标头时,我看不到似乎与 CORS 相关的内容。

发生了什么事?

【问题讨论】:

    标签: javascript node.js safari glitch-framework


    【解决方案1】:

    可能是this bug

    (我知道晚了,但对于像我这样的人,他们的搜索发现了这个 SO 问题,但没有找到其他相关页面。)

    【讨论】:

      猜你喜欢
      • 2013-01-27
      • 1970-01-01
      • 1970-01-01
      • 2013-01-03
      • 1970-01-01
      • 2011-12-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-27
      相关资源
      最近更新 更多