Chrome 浏览器中如何解决jQuery ajax withCredentials:true 失效问题?
如何在 chrome 中解决 jquery ajax withcredentials:true 失效问题
在跨域请求中使用 jquery ajax 时,withcredentials:true 选项通常能够发送 cookie 凭据。然而,一些用户报告称此选项在 chrome 中无效。
这个问题的原因在于 chrome 中实施了称为 samesite 的新 cookie 策略。samesite=strict 标记的 cookie 不会在跨域请求中发送,即使设置了 xhr.withcredentials = true。
解决方案
要解决此问题,必须在需要发送 cookie 的特定 cookie 上禁用 samesite 策略。对于 asp.net core 2.0 身份验证 cookie,可以通过在 startup.cs 文件中添加以下代码来实现:
services.AddAuthentication(...) .AddCookie(option => option.Cookie.SameSite = SameSiteMode.None) .AddOpenIdConnect(...)
这样 chrome 浏览器就不会阻止 cookie 的发送,withcredentials:true 选项将正常工作。
以上就是Chrome 浏览器中如何解决jQuery ajax withCredentials:true 失效问题?的详细内容,更多请关注其它相关文章!