作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我似乎遇到了长轮询和 IE 的问题。这是我第一次尝试长轮询,所以我设置了一个简单的测试,看看我是否可以让它工作。它在 FF 和 Chrome 上似乎表现得很好,但在 IE 上我得到了不同的结果。
首先,这是一些代码:
HTML/Javascript:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
<script type="text/javascript" src="js/jquery-1.8.3.min.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.9.2.min.js"></script>
<script type="text/javascript">
//<![CDATA[
$(document).ready(function()
{
(function poll()
{
$.ajax({
url: 'events/alert-data.php',
success: function (e)
{
$('#results').append($('<div>Success: ' + e.text + '</div>').fadeIn(1000));
},
error: function (e)
{
console.log(e);
},
dataType: 'json',
complete: poll,
timeout: 10000
});
})();
});
//]]>
</script>
</head>
<body>
<div id="results">hello</div>
</body>
</html>
PHP:
<?php
$time = time();
while (time() - $time < 5) { }
echo json_encode(array('text' => time()));
?>
在 FF/Chrome 中,我看到了预期的数据:
hello
Success: 1356104196
Success: 1356104201
Success: 1356104217
Success: 1356104222
Success: 1356104227
但在 IE 中它会无限重复第一个 Success
行。至少我认为它是无限的,因为它会锁定浏览器并且不允许我滚动。
我不确定我做错了什么。任何帮助将不胜感激。
提前致谢。
最佳答案
IE 的问题似乎是缓存的结果,可能是 IE 本身造成的。这可能发生在任何浏览器中。
尝试添加:
cache: false
到 ajax 选项。
关于php - AJAX 长轮询不适用于 IE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13993056/
我是一名优秀的程序员,十分优秀!