我有Chrome的这个奇特的问题。 它经常出现缓存PUT请求。
详细信息:我有使用Backbone.js的一个应用程序,并试图在坚持一些修改模型(骨干会自动生成一个PUT请求),铬只是不会将请求发送到服务器。 它工作在Firefox和IE完美的罚款(还没有看到Safari中的问题至今)。
以下是来自Chrome开发者工具网络选项卡的屏幕截图。 正如你所看到的,对于PUT请求的响应正在从高速缓存(请求不打服务器!)返回
下面是同样的请求的报头信息的屏幕截图。 再次,这是明显的是,Chrome不打扰发送PUT请求到服务器。
请求的有效载荷是JSON数据。 任何想法,为什么发生这种情况/我在做什么错?
UPDATE:铬已经确认这的确是它的最终的bug (感谢扬Hančič)。
治标不治本我结束了覆盖Backbone.sync
方法和附加一个时间戳PUT,POST的查询字符串和DELETE请求,以便他们总是唯一的:
if(!options.data && model && (method == 'create' || method == 'update' || method == 'delete')) {
params.url += (params.url.indexOf('?') == -1 ? '?' : '&') + '_=' + new Date().getTime();
}