【问题标题】:Replicating a browser https request in javascript在 javascript 中复制浏览器 https 请求
【发布时间】:2019-10-06 06:08:54
【问题描述】:

我正在尝试使用需要 cookie 来返回数据的 API。

如果我直接在浏览器中点击 url,我会得到我想要的数据。协议是https。

但是,每当我尝试使用 window.fetch 获取数据时,都会遇到 CORS 错误。我认为这是因为我无法在客户端请求中获取 cookie,这导致服务器重定向到未发送回 CORS 标头的身份验证服务器。

我曾尝试使用{ credentials: 'include' } 无济于事。

我假设因为 cookie 存在于浏览器中,所以它将成为请求的一部分。

我在这里缺少任何基础知识吗?

【问题讨论】:

    标签: javascript browser cors


    【解决方案1】:

    嗯,这有点奇怪,默认情况下fetch 使用{ credentials: 'same-origin' },这将允许发送 cookie,{ credentials: 'include' } 也会发送 cookie,即使它的来源不同,这是唯一的区别。

    我在这里的想法是,要么在你的代码中的某个地方,cookie 以某种方式被删除,要么你的请求在 cookie 设置之前被触发,或者服务器不允许 CORS,或者它不允许 OPTIONS 方法,如果它不同的起源。

    【讨论】:

      猜你喜欢
      • 2013-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-31
      相关资源
      最近更新 更多