其他Ajax调用在第一次调用后无效

时间:2014-02-19 23:01:27

标签: javascript php jquery ajax delegation

只需处理一个小型博客系统,并使用多个ajax调用来更新信息,而无需重新加载页面。

然而,在一个ajax调用后,其他人不工作,而是表单转到php页面本身。

ajax调用都遵循类似的模式:

$(document).ready(function(){
$('.addpost').one("submit",function(e){

$.ajax({
        type: "POST",
        url: "process/addnewpost.php",
        data: $targetForm.serialize(),
        dataType: "json",
        success: function(response){

        if (response.databaseSuccess) {
           $("#container").load("#container");
        } else {
               $ckEditor.after('<div class="error">Something went wrong!</div>');
            }
        }
});
});
});

在我的页面上,这些脚本的加载方式如下:

<script src="http://buildsanctuary.com/js/addcomment.js"></script>

我在某些按钮事件中遇到了同样的问题,但是使用.on()解决了这个问题,但是有时这甚至不起作用,所以我的解决方案是将偶数放在ajax成功响应中。

找不到关于如何绑定/委托整个脚本的任何答案?

1 个答案:

答案 0 :(得分:0)

您使用$('.addpost'). one ("submit",function(e){绑定提交事件以执行您的ajax,因此它将执行一次,使用on代替。

$('.addpost').on("submit",function(e){