Cakephp - Jquery JSOn Ajax-вызов не отправляет данные после некоторого простоя - PullRequest
1 голос
/ 08 февраля 2011

Неважно, я только что понял, что CakePHP пришлось переустанавливать cookie, потому что срок его действия истек.Если вы столкнулись с той же ошибкой, просто проверьте возвращаемый заголовок с помощью Firebug => «Set-Cookie».

У меня есть функция jquery, которая вызывает функцию CakePHP с Ajax и возвращает ее в виде 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-Array в качестве ответа (проверяется с помощью Firebug), но когда возникает ошибка, я получаю только:

"j is null" handleError (a = Object {url = "/ notes / load_notes", global = true, more ...}, b = XMLHttpRequest {onreadystatechange = [xpconnect wrapped nsIDOMEventListener], readyState = 4, более...}, d = "success", e = null)

Любая подсказка, что может вызвать это?Кто-нибудь испытывал нечто подобное?

1 Ответ

0 голосов
/ 14 февраля 2011

Кажется, проблема клопа, а не jquery. Иногда я получаю ту же ошибку с Firebug (полностью случайно), и она решается при перезапуске браузера.

Может быть, это глупый вопрос, но .. вы пробовали с другими браузерами / консолями ?? С Chrome у меня больше не было этой проблемы.

...