1

没关系,我刚刚发现 CakePHP 必须重新设置 cookie,因为它已过期。如果您遇到同样的错误,只需使用 Firebug => "Set-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”在文档准备好后调用,如果我单击类别链接。当我刚刚加载页面或几分钟后单击类别链接时,这工作正常。但是当我等待大约 30 分钟并触发该功能时,没有返回任何内容(因此无法显示注释)。只有当我重新加载页面时,该功能才能再次正常工作。

我通常会得到一个 JSON 数组作为响应(使用 Firebug 检查),但是当错误发生时,我只会得到:

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

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

4

1 回答 1

0

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

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

于 2011-02-14T12:46:04.417 回答