微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

html5 – 如何从Web Worker中访问document.cookie?

由于Web Workers无法访问文档对象,如何在工作脚本中访问cookie?

背景

我正在使用Django,我需要在AJAX帖子中传递CSRF令牌.执行此操作的标准方法是从document.cookie获取令牌并将其作为标头传递:

xhr.setRequestHeader('X-CSrftoken',readCookie('csrftoken'));

(source)

Web worker支持XMLHttpRequest,似乎他们将cookie发送到服务器,但我找不到在脚本中获取cookie的方法.

解决方法

在xhr.setRequestHeader之前(‘X-CSrftoken’,readCookie(‘csrftoken’));创建一个varible来存储cookie,如下所示:
ck = readCookie('csrftoken');`Removing "var" variable "ck" becomes global. This way you can access it from outside the Web Worker.`
xhr.setRequestHeader('X-CSrftoken',ck);

在ck你有cookie.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。