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

时间:2012-11-16 11:54:02

标签: html5 cookies xmlhttprequest web-worker

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

背景

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

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

source

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

1 个答案:

答案 0 :(得分:0)

xhr.setRequestHeader('X-CSRFToken', readCookie('csrftoken'));创建变量以存储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。