如何用 credentials 参数决定 Fetch 是否携带本地的 Cookie
Fetch 请求是否携带 Cookie 由 credentials 参数显式控制默认为 omit不发 Cookie。same-origin 仅同源时发送include 则始终发送且需服务端配合 CORS 头。Fetch 请求是否携带 Cookie由 credentials 参数控制。它不是“自动决定”的而是必须显式设置否则默认不发 Cookie即使同域。credentials 的三个可选值及其行为omit默认值完全不发送 Cookie也不接收服务端 Set-Cookie 响应头。same-origin仅当请求 URL 与当前页面同源协议、域名、端口均相同时才带上 Cookie跨域请求不带。include无论同域还是跨域都带上 Cookie并允许响应中携带 Set-Cookie需服务端配合 Access-Control-Allow-Credentials: true。常见误操作与注意事项没写 credentials 就等于 omit即使同域也不会发 Cookie —— 这是新手最常踩的坑。 设为 include 时如果后端未在 CORS 响应头中明确返回 Access-Control-Allow-Credentials: true浏览器会直接拒绝响应连 status 都拿不到。 same-origin 对于前端路由如 Vue Router / React Router无影响判断依据是真实 URL不是 router path。 若用 include 跨域请求后端 Access-Control-Allow-Origin 不能写 *必须指定具体源如 https://example.com否则浏览器报错。典型使用示例登录后请求用户信息同域 Vozo Vozo是一款强大的AI视频编辑工具可以帮助用户轻松重写、配音和编辑视频。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2521347.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!