Cakephp - Jquery JSOn Ajax调用在一些空闲时间后不发送任何数据

时间:2011-02-08 19:17:11

标签: jquery ajax cakephp jquery-1.4

没关系,我只是发现CakePHP必须重新设置cookie,因为它已过期。如果您遇到相同的错误,只需使用Firebug =>检查返回标头。 “设置Cookie”。


我有一个jquery函数,它使用Ajax调用CakePHP函数并将其作为JSON返回:

$('#categories a').live('click', function() {
    catid = $(this).attr('id');
    load_notes(catid);  
    return false;
});

function load_notes(catid){
    $.ajax({
            type: 'POST',
            url: '/notes/load_notes',
            data: 'category_id='+catid,
            dataType: 'json',
            success: function(data){
                jQuery.each(data, function(i) {
                    new_note = '';
                    new_note = build_note(this.Note.id, this.Note.content);  
                    new_note.appendTo('#notes').hide().fadeIn(i*300);
                    //new_note.appendTo('#notes').hide().fadeIn(1000);
                    //new_note.appendTo('#notes');
                });

            },
            error:function(httpRequest, textStatus, errorThrown) { 
                alert("status=" + textStatus + ",error=" + errorThrown);
            }
        });
}

在文档准备好之后调用“load_notes”,如果我单击Category-Link。当我刚刚加载页面或几分钟后点击类别链接时,这样可以正常工作。但是当我等待大约30分钟并启动该功能时,不会返回任何内容(因此无法显示注释)。 只有当我重新加载页面时,该功能才能正常工作。

我通常会将JSON-Array作为响应(使用Firebug进行检查),但是当错误发生时,我只会得到:

  

“j为null”handleError(a = Object {   url =“/ notes / load_notes”,global = true,   更多...},b = XMLHttpRequest {   onreadystatechange = [xpconnect包装   nsIDOMEventListener],readyState = 4,   更多...},d =“成功”,e = null)

有什么可能导致这种情况的线索?有人经历过类似的事吗?

1 个答案:

答案 0 :(得分:0)

这似乎是一个萤火虫问题,而不是jquery。我有时会(完全随机地)使用firebug得到同样的错误,当我重新启动浏览器时它会解决。

也许是一个愚蠢的问题但是..你试过其他的浏览器/控制台吗?使用Chrome我没有再遇到过这个问题。