多次调用load()方法后,jQuery停止工作

时间:2014-10-11 18:08:52

标签: jquery

我正在设计一个网站,我正在使用jQuery。在某个特定页面中,当用户单击列表项时,我使用load()方法将相应的内容加载到页面的某个部分。这是我点击链接的前几次工作,然后突然查询停止工作。当我重新启动eclipse时,前几次点击一切正常,但同样的事情再次发生。例如,我有以下代码:

$('#someListElement').on('click', function(e) {
    $('#targetSection').load('theJavaServlet', function() {
        alert('test');
    });
});

当我点击带有ID' someListElement'的列表项时我收到了消息。这工作前三到四次,但突然它不再有效,页面上的所有jQuery功能都停止工作。让我说我点击列表项三次没有它工作。当我关闭日食时,我得到三个测试'消息。当我重新打开eclipse时,循环再次开始。是什么导致了这种行为?

1 个答案:

答案 0 :(得分:0)

我发现了问题。在调试的时候,我用一个html页面替换了load方法中的javaServlet,问题就消失了,所以我意识到问题必须在于servlet。当我检查时,我注意到使用连接池与数据库建立连接的servlet不会释放连接。注释掉了pool.freeConnection(连接)方法。所以对servlet的多次调用正在耗尽所有连接。一旦我删除了注释并允许servlet释放连接,一切正常。