【发布时间】:2015-12-29 01:33:00
【问题描述】:
我正在尝试存储受 CSRF 保护的(查询字符串 + cookie)API POST 请求,以便稍后在 web 应用重新联机时重播。
为此,我想将请求对象(获取 API)保存在 IndexedDB 中,但 IDBObjectStore.put 失败并出现 DataCloneError “无法克隆对象”。
Request 对象有一个简单的 JSON 主体,没有二进制数据,只有字符串。
这是在服务工作者(网络工作者)环境中运行的。
结构化克隆算法不会克隆请求对象有什么原因吗? [Answer: Yes] 如果是这样,我最好的选择是对这个对象进行脱水/再水化以代替结构化克隆吗?
我真的想避免必须知道/访问 Request 对象的各个属性。 我需要的请求部分是 url、标头、正文和 cookie(但同样,我不希望代码必须知道这些)。
提前感谢您的任何建议。
【问题讨论】:
标签: request indexeddb service-worker fetch-api structured-clone