对于动态页面,我使用 Ajax Long Polling,即使使用 jQuery 1.9,Internet Explorer 在第一次请求后也会挂起。
脚本代码基于文章Simple Long Polling Example with JavaScript and jQuery
<script type="text/javascript" charset="utf-8">
$(document).ready(function(){
(function poll(){
$.ajax({ url: "ajaxstats.json", success: function(data){
$("button.requests" ).empty().append(data.requests);
}, dataType: "json", complete: poll, timeout: 30000 });
})();
});
</script>
控制台显示没有错误。
ajaxstats.json
IE 网络监视器立即显示对资源的许多请求,响应时间 < 1 ms和304 (not modified)
响应代码。响应正文正确(JSON 代码)。
服务器代码总是将答案延迟 1000 毫秒。在 Firefox 中,Firebug XHR 日志显示每个请求大约需要 1000 毫秒,正如预期的那样。
Firefox 和 Internet Explorer 的 HTTP 响应代码不同:
- 在 Firefox 中:响应代码是
200 ok
- 在 Internet Explorer 9 中,响应代码为
304 (not modified)
有没有办法解决这个 IE 问题?