【发布时间】:2012-10-04 13:50:55
【问题描述】:
我有一个需要升级以提供本地存储缓存功能的 Jquery 网站,Target 让每个 Ajax 请求首先检查是否有缓存的响应 HTML,然后它不会调用服务器端,而是从而是缓存。 缓存和显示缓存中的数据等一切正常..
将我的缓存核心应用到严重依赖 XML HTTP 响应标头的站点时出现了我的问题;看来,当我尝试缓存从 ajax 调用返回的 XMLHttpResponse 对象时,当然是使用 JSON.Stringify() 对其进行序列化后,从 JSON.Parse() 返回的反序列化对象不包含响应头!
我必须从包含所有先前添加的标头的缓存中返回一个 XMLHttpResponse 对象,因为所有站点都将它作为 XMLHttpResponse 的对象来处理。
有什么想法吗?
【问题讨论】:
-
您需要为
XMLHttpRequest对象编写自定义序列化器和解析器。 JSON 仅支持JSON specification 定义的那些数据类型。功能显然不包括在内。提示:定义XMLHttpRequest.prototype.toJSON,查看JSON.parse和XHR 实例的getAllResponseHeaders方法。
标签: jquery ajax caching xmlhttprequest local-storage