suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Verwenden Sie die Fetch-API, um Cookies zu übergeben

<p>Ich versuche, die neue Fetch-API zu verwenden und habe Probleme beim Umgang mit Cookies. Insbesondere nach einer erfolgreichen Anmeldung gibt es in zukünftigen Anfragen einen Cookie-Header, aber Fetch scheint diesen Header zu ignorieren und alle Anfragen, die ich mit Fetch mache, sind nicht autorisiert. </p> <p>Liegt das daran, dass Fetch noch nicht bereit ist, oder unterstützt Fetch keine Cookies? </p> <p>Ich verwende Webpack, um meine Anwendung zu erstellen. Ich verwende Fetch auch in React Native und habe nicht das gleiche Problem. </p>
P粉066725148P粉066725148450 Tage vor584

Antworte allen(2)Ich werde antworten

  • 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

    Antwort
    0
  • P粉818088880

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

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

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

    Antwort
    0
  • StornierenAntwort