我使用Jquery-ajax调用将信息发布到页面并显示返回的信息.我遇到的问题如下:
当用户进行第一个ajax调用时,一切似乎都很正常.当用户不重新加载页面并再次发出相同的请求时,将进行两次后调用,并且进行两次get调用.第三次是4post 4get请求.第4次8Post / 8Gets.依此类推,直到浏览器(firefox Latest v.)冻结了一段时间.
我是一个新手程序员,不知道可能是什么原因.我不知道在代码内部看什么.也许你们可以给我一个提示.我其他的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);
}
});
}
希望任何人都能对此情况有所了解.
解决方法:
如果我敢猜测,我怀疑返回的数据包含引用您的javascript文件的脚本标签.这将解释您看到的GET请求.每次将请求数据放入#printdiv中时,都会再次加载脚本,并且相同的javascript处理程序将绑定到同一事件.这将解释每个请求后处理程序数量加倍的情况.
快速测试:将console.log(‘script loading’);在manage_functions.js的顶部.如果我是对的,它将在每次请求后记录.