我使用Jquery-ajax调用将信息发布到页面并显示返回的信息。我遇到的问题如下:
当用户进行第一次ajax调用时,一切似乎都正常。当用户没有重新加载页面并且第二次发出相同的请求时,进行2次呼叫并进行接听。第3次有4post + 4get请求。第4次8Post / 8Gets。依此类推......直到浏览器(firefox最新版本)冻结一段时间。
我是一名初学程序员,我不知道原因可能是什么。我不知道在哪里查看我的代码。也许你们可以给我一个提示。我的其他ajax请求很好,只发布+获取一次。
Firebug日志:
这是我的一段代码:
$(document).ready(function() {
$('#datepicker').change(function()
{
sendDate($('#datepicker').val());
});
});
function sendDate(str)
{
$.ajax(
{
type: "POST",
url: "manage_processor.php",
data: { chosendate: str },
success: function(data)
{
$('#printdiv').html(data);
}
});
}
希望任何人都能对这种情况有所启发。
答案 0 :(得分:4)
如果我冒昧猜测,我怀疑返回的数据包含引用您的javascript文件的脚本标记。这可以解释您所看到的GET请求。每次将请求数据放入#printdiv时,您的脚本将再次加载,并且相同的javascript处理程序将绑定到同一事件。这可以解释每次请求后处理程序数量翻倍的情况。
快速测试:把console.log('script loaded');在manage_functions.js的顶部。如果我是对的,它将在每次请求后记录。