Dav*_*veo 24 javascript ajax jquery internet-explorer
我目前正在开发一个纯HTML和JavaScript驱动的Web应用程序,它使用CORS来使用远程Web服务,但目前在使用IE 11进行GET请求时遇到问题.有趣的是,我们已经在IE8/9/10中运行良好而不是11.
问题是IE 11似乎超时而不是等待服务器的响应.ajax调用很简单:
$.ajax(url, {
dataType: 'json',
complete: complete,
type: 'GET',
global: true,
success: success,
crossDomain: true,
xhrFields: {
withCredentials: true
}
});
Run Code Online (Sandbox Code Playgroud)
在网络选项卡和使用Fiddler我可以看到IE甚至从未发送请求.
有没有人有任何想法吗?
编辑:我忘了提到我已经尝试过缓存:false.我还发现了一些非常奇怪的事情,如果我将开发工具中的文档模式从Edge切换到9然后再次调用,即使在我清除IE并重新启动它之后,无论缓存是真还是假,调用都会有效.非常离奇.:\
Shy*_*yju 33
IE以缓存而闻名.确保您没有获得缓存响应.您可以将cache
属性值设置为false
或向URL添加唯一的时间戳,以使其不是缓存的响应.您可以使用该$.now()
方法获取唯一的时间戳.
设置缓存属性
$.ajax(url, {
dataType: 'json',
cache : false,
//Other things ...
}
Run Code Online (Sandbox Code Playgroud)
向URL添加唯一时间戳
var url="somePage.php?"+$.now();
//Use this url now for making the ajax call
Run Code Online (Sandbox Code Playgroud)
该$.now()
方法是表达式返回的数字的简写(new Date).getTime()
我不确定,也许是缓存,尝试设置属性"cache:false"
否则,你也可以尝试在你的网址末尾添加一个日期时间,这样你每次都有一个不同的网址,IE不会缓存
url +""+ (new Date()).getTime()
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
38469 次 |
最近记录: |