我使用here描述的步骤将我的Angular4应用转换为网络工作者。当我运行应用程序时,我看到以下错误:
我从现有的Angular4应用程序和新的应用程序所做的更改是Web工作者的支持。
该错误并未提供导致此问题的组件或代码的任何线索。是否有可以添加到某处的跟踪以查找导致此错误的原因?
----更新6/28 -----
错误由以下代码生成
platform-webworker.umd.js 中的 WorkerDomAdapter.prototype.getCookie = function (name) { throw 'not implemented'; };
getCookie
来自 http.umd.js 。
答案 0 :(得分:1)
您无法通过网络工作人员访问Cookie,也无法访问localStorage
或sessionStorage
。
可以在此处找到包含更多信息的类似主题:Accessing localStorage from a webWorker
答案 1 :(得分:1)
此问题的解决方案是创建自定义XSRFStrategy
,以便Angular http
模块使用自定义而非默认模式。
import { HttpModule, XSRFStrategy, Request } from '@angular/http';
...
class CustomXSRFStrategy extends XSRFStrategy
{
public configureRequest(req: Request) { /* */ }
}
...
providers: [{ provide: XSRFStrategy, useValue: new CustomXSRFStrategy() }]