停止IE缓存通过jquery模式对话框打开的iframe

停止IE缓存通过jquery模式对话框打开的iframe,jquery,internet-explorer,iframe,cache-control,Jquery,Internet Explorer,Iframe,Cache Control,更新:找到答案。在接下来的7个小时内无法提交我自己的答案。。。见评论 我正在打开一个对话框,如下所示: url = 'edit/MyPage.aspx?appid=3&value=4&' + date.getTime(); $('#modalIFrame').attr('src', url); $('#modalDiv').dialog('open'); iframe有一个带有几个字段(复选框、下拉列表、文本区域)的表单。在Chrome中,一切都是完美的。在IE中,它的缓存非常

更新:找到答案。在接下来的7个小时内无法提交我自己的答案。。。见评论

我正在打开一个对话框,如下所示:

url = 'edit/MyPage.aspx?appid=3&value=4&' + date.getTime();
$('#modalIFrame').attr('src', url);
$('#modalDiv').dialog('open');
iframe有一个带有几个字段(复选框、下拉列表、文本区域)的表单。在Chrome中,一切都是完美的。在IE中,它的缓存非常持久且令人烦恼。即使是shift+refresh也无济于事。因此,如果我打开对话框,进行更改,点击提交,然后刷新页面,所有数据看起来都正常。然而,当我点击编辑按钮打开对话框时,它是以前的数据(数据是使用对WCF服务的ajax调用提取的),我甚至已经等了几个小时等待会话过期,没有运气

正如你在上面看到的,我尝试了我在这里发现的一个技巧,使IE认为这是一个新的页面。这不管用。我还向iframe中页面的页面加载添加了以下代码:

Response.Cache.SetCacheability(HttpCacheability.NoCache)
并将以下元标记添加到HTML:

<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
<META HTTP-EQUIV="EXPIRES" CONTENT="0">


我在这里完全迷路了,任何想法都会很感激。

好吧,我发现IE中缓存的是WCF服务(对我来说没有意义,但不管怎样)。我在ajax调用中添加了一个时间戳,现在它可以工作了

data: { "appid": appid, "serverid": serverid, "timestamp": date.getTime() },

好吧,我发现缓存在IE中的是WCF服务(对我来说没有意义,但不管怎样)。我在ajax调用中添加了一个时间戳,现在它可以工作了

data: { "appid": appid, "serverid": serverid, "timestamp": date.getTime() },

好吧,我不能回答我自己的问题,但是…好吧,我发现IE中缓存的是WCF服务。对我来说似乎很奇怪,但我在ajax调用中添加了时间戳,现在它工作了!变量日期=新日期();数据:{“appid”:appid,“serverid”:serverid,“timestamp”:date.getTime()},好吧,我不能回答我自己的问题,但是……好吧,我发现缓存在IE中的是WCF服务。对我来说似乎很奇怪,但我在ajax调用中添加了一个时间戳,现在它工作了!变量日期=新日期();数据:{“appid”:appid,“serverid”:serverid,“timestamp”:date.getTime()},我想知道为什么我们要用这种方式“破解”。。。我也收到了这个问题-通过添加一个时间戳,我可以看到它迫使它去,因为它不是同一个呼叫,但为什么它被缓存了,有没有正确的方法告诉它不要?希望我能帮忙,但我已经前进了,这从来没有得到太多的关注。我想知道为什么我们必须以这种方式“黑客”。。。我也收到了这个问题——通过添加一个时间戳,我可以看到它强迫它去,因为它不是同一个调用,但为什么它被缓存了,有没有正确的方法告诉它不要去?我希望能帮上忙,但我已经离开了,这从来没有得到太多的关注。