为什么我的AJAX请求在运行一段时间后挂起?

为什么我的AJAX请求在运行一段时间后挂起?,ajax,prototypejs,ajax.request,Ajax,Prototypejs,Ajax.request,我编写的页面中的AJAX调用在调用次数不确定后挂起。页面在预设时间(当前为5秒)后发出请求,从我的服务器获取数据,然后再次等待该时间。当我将以下内容作为AJAX请求时: myAjax = new Ajax.Request( url, { method: 'get', asynchronous: true, url: url,

我编写的页面中的AJAX调用在调用次数不确定后挂起。页面在预设时间(当前为5秒)后发出请求,从我的服务器获取数据,然后再次等待该时间。当我将以下内容作为AJAX请求时:

myAjax = new Ajax.Request(
    url,
            {
                    method: 'get',
                    asynchronous: true,
                    url: url,
                    parameters: querystring,
                    onInteractive: document.getElementById('meh').innerHTML='Interactive',
                    onSuccess: processXML

            });
id为meh的div将得到Interactive一词的写入,但是如果onSuccess被onComplete替换,则不会执行相同的成功条件


那么为什么我的代码要这样做呢?谢谢

onInteractive事件处理程序不应该是对函数的引用吗?

正如pb所说,它应该是吗

onInteractive: function(){
document.getElementById('meh').innerHTML='Interactive'
}

它应该是,但它是作为调试放在那里的,用于测试AJAX状态。问题解决后,该行将被删除。@JustJon:回答您的评论:不,它不用于测试Ajax状态。这正是@pb和@Rigobert一直在告诉你的。它用于测试新的Ajax.Request是否正在被评估,但仅此而已。这实际上可能是脚本失败的全部原因,因为调用了onInteractive事件,但其值是一个字符串,是计算document.getElementById'meh.innerHTML='Interactive'的结果,而不是函数。这可能会导致异常或错误,从而中断整个Ajax请求。它是在尝试诊断问题后添加的,用于调试目的。