没关系,我刚才发现CakePHP必须重新设置cookie,因为它过期了。如果您遇到同样的错误,只需使用Firebug =>“Set-Cookie”检查返回标题。Cakephp -Jquery JSOn Ajax调用在空闲时间后不会发送任何数据
我有一个要求与阿贾克斯CakePHP的功能,并将它作为一个JSON jQuery函数:
$('#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阵列作为响应(与萤火虫检查),但是当发生错误,我只得到:
“j是零”的HandleError(α=对象{ URL =”/notes/load_notes“,global = true, more ...},b = XMLHttpRequest onreadystatechange = [xpconnect wrapped nsIDOMEventListener],readyState = 4, more ...},d =”success“,e = null)
任何线索可能导致这种情况的原因是什么?任何人都有类似经历吗
这是ajax调用附加到DOM对象?例如,如果你只是在一个普通的$(document).ready(function(){... wrapper)中包含这个代码,它将在dom完成加载时执行。但是,如果你将它附加到$ 'a')。click(function(){$ .ajax({...然后每次点击链接时它会被触发。 – Adam