搜索

首页  >  问答  >  正文

使用Fetch API来传递Cookie

<p>我正在尝试使用新的Fetch API,但在处理Cookies时遇到了麻烦。具体来说,在成功登录后,未来的请求中有一个Cookie头,但是Fetch似乎忽略了这个头部,我使用Fetch发出的所有请求都是未经授权的。</p> <p>这是因为Fetch还没有准备好,还是Fetch不支持Cookies?</p> <p>我使用Webpack构建我的应用程序。我还在React Native中使用Fetch,但没有遇到同样的问题。</p>
P粉066725148P粉066725148462 天前591

全部回复(2)我来回复

  • P粉106711425

    P粉1067114252023-08-22 15:30:15

    除了@Khanetor的答案之外,对于那些正在处理跨域请求的人来说,可以使用credentials: 'include'

    示例的JSON fetch请求:

    fetch(url, {
      method: 'GET',
      credentials: 'include'
    })
      .then((response) => response.json())
      .then((json) => {
        console.log('Gotcha');
      }).catch((err) => {
        console.log(err);
    });

    https://developer.mozilla.org/en-US/docs/Web/API/Request/credentials

    回复
    0
  • P粉818088880

    P粉8180888802023-08-22 15:21:43

    默认情况下,Fetch不使用cookie。要启用cookie,请执行以下操作

    fetch(url, {
      credentials: "same-origin"
    }).then(...).catch(...);
    

    回复
    0
  • 取消回复