Firefox上的Jquery ajax长轮询错误

时间:2012-02-19 07:38:56

标签: jquery ajax long-polling

这是我的代码。它与Chrome完美配合,但当我启动它时,它只能在第一次调用时使用。当我第二次尝试传递数据时,我收到此错误:
尝试在已清除的范围内运行编译和运行脚本” 我想问题是在“成功”参数的函数调用中,但我无法理解什么是错的 提前感谢您的帮助。

$.noConflict();
jQuery(document).ready(function(){
in_poll();
});  

function in_poll()
    {
    jQuery.ajax(
        {
        url: "prova.php",
        cache: false,
        dataType: "json",
        success: function(data)
            {
            .... OUTPUT DATA RETRIEVED....
            in_poll();
            },        
        error: function (xhr, ajaxOptions, thrownError) 
            {        
            alert(thrownError);
            setTimeout('in_poll()', 5000);//Try againg after 5 seconds
            },
        timeout: 25000
        });  
    }

2 个答案:

答案 0 :(得分:2)

这是一个特定于FF的错误,很可能是因为缓存,你可能会尝试在head标签内添加这样的元

<meta http-equiv="cache-control" content="no-cache" />

有关详情,请参阅http://groups.google.com/group/mozilla.dev.platform/browse_thread/thread/10ff69b04b88e06f/87f89aaec17c1aed

答案 1 :(得分:0)

最后,经过长时间的头痛,我找到了答案。 Heera和Melee给出的提示很有帮助,但根本没有解决问题。 实际上我的剧本是正确的 问题是函数内的“ document.write()”进入参数“成功”(....输出数据检索....),这是在我发布的scritp中没有提到。
我不知道为什么,但似乎“成功”中的“document.write()”仅适用于Chrome。