Javascript 仅在Microsoft Edge中对Express server的POST请求出现未经授权的401错误

Javascript 仅在Microsoft Edge中对Express server的POST请求出现未经授权的401错误,javascript,express,Javascript,Express,我正在向我的NodeJS express服务器上的一个端点发出一个基本的POST请求,该服务器在包括chrome在内的所有浏览器中都运行良好。然而,Edge继续给出一个随机的“未经授权”401错误 这没有意义,因为它是我自己的express服务器上的相对端点 import fetch from "isomorphic-unfetch"; ... return await fetch("/api/my-endpoint", { headers: { "Content-Typ

我正在向我的NodeJS express服务器上的一个端点发出一个基本的POST请求,该服务器在包括chrome在内的所有浏览器中都运行良好。然而,Edge继续给出一个随机的“未经授权”401错误

这没有意义,因为它是我自己的express服务器上的相对端点

  import fetch from "isomorphic-unfetch";

  ...

  return await fetch("/api/my-endpoint", {
    headers: { "Content-Type": "application/json" },
    mode: "cors",
    method: "POST",
    body
  });

仅在edge中出现这种情况的原因是什么?

我猜您需要将
凭据:include
添加到
fetch()
选项中,以便cookie将包含在请求中,除非您发送的正文中有凭据,否则该请求可能用于授权。此功能一直是浏览器实现中的一个移动目标,因此有些浏览器需要此功能,而有些浏览器不需要此功能也就不足为奇了。此外,似乎没有任何理由使用
模式:“cors”
,因为您使用的域相对URL必须是同一来源。这可能不会引起问题,但使用起来似乎很奇怪。@jfriend00谢谢!包括
凭证:“包括”
实际上对我有用。还有一篇关于这个问题的帖子:我猜您需要在
fetch()
选项中添加
credentials:include
,以便cookies将包含在请求中,除非您发送的正文中有凭据,否则该请求可能是用于授权的。此功能一直是浏览器实现中的一个移动目标,因此有些浏览器需要此功能,而有些浏览器不需要此功能也就不足为奇了。此外,似乎没有任何理由使用
模式:“cors”
,因为您使用的域相对URL必须是同一来源。这可能不会引起问题,但使用起来似乎很奇怪。@jfriend00谢谢!包括
凭证:“包括”
实际上对我有用。还有一篇关于这个问题的帖子: