我在Chrome 19中遇到了一个奇怪的错误。我在pushState支持下实现了完整的AJAX网站(通过AJAX请求打开了每个非外部链接)。我通过JSON格式以AJAX格式传输HTML代码段。
当我通过外部链接离开网站然后返回时,Chrome会渲染该URL的缓存数据-问题是,他缓存了JSON内容并显示了该内容,而不是完整的网页。
这可以通过以下步骤来重现( 更新:此后,我在网站上删除了AJAX功能,因此不再出现此错误 ):
我尝试使用Cache-Control发送所有AJAX响应:无缓存,但是没有效果。
Firefox 12正常运行。
我提供了一种解决方法-我使用其他虚拟GET参数-Ajax = 1执行AJAX请求。这样,浏览器就可以识别普通HTML内容和JSON之间的区别。它对用户没有任何影响,该参数仅在Firebug中可见。