AJAX长轮询不与IE浏览器工作(AJAX long polling not working wit

2019-09-30 05:23发布

我似乎具有长轮询和IE浏览器的一个问题。 这是我首次涉足长轮询,所以我成立了一个简单的测试,看看我能使其工作。 这似乎表现只是FF和铬细,但我发现了与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 /铬,我看到预期的数据:

hello
Success: 1356104196
Success: 1356104201
Success: 1356104217
Success: 1356104222
Success: 1356104227

但在IE中重复第一Success行无限。 至少我认为它是有无限的,因为它锁定浏览器并不会让我滚动。

我不知道我在做什么错。 任何帮助将非常感激。

提前致谢。

Answer 1:

与IE浏览器的问题似乎是缓存的结果,可能是由IE浏览器本身。 这可能发生在任何浏览器。

尝试添加:

cache: false 

在AJAX选项。



文章来源: AJAX long polling not working with IE