kan*_*ssa 6 javascript cookies xmlhttprequest setcookie google-chrome-extension
我在Chrome扩展程序中有一个后台页面,该页面向服务器发出请求。通过使用Chrome的调试工具,我可以看到Set-Cookie
返回了各种标头。但是,后续请求中不包含这些Cookie-Chrome似乎将其丢弃。这导致对服务器的每个请求都被计为新会话。
服务器端我设置了以下标头:
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Credentials: true");
Run Code Online (Sandbox Code Playgroud)
我已经withCredentials = true
在客户端上设置了XMLHttpRequest对象。
我还在扩展清单的权限部分中具有服务器的地址。
我觉得我在这里已经很接近解决方案了-服务器以正确的标头进行响应,但是我无法弄清楚为什么Chrome决定不存储Cookie。
我还需要在标题,XMLHttpRequest对象或清单中设置其他内容吗?还是这不可能?
我终于解决了这个问题。诀窍是将“cookies”权限放入扩展清单中。这并不明显,因为 Chrome 扩展文档仅指出,如果您使用 chrome.cookies API,则需要它 - 我不是。
您还必须启用第三方 cookie。因此,我可能需要一个完全不同的解决方案,因为我不想推荐启用第三方 cookie。
归档时间: |
|
查看次数: |
3683 次 |
最近记录: |