当AJAX完成时重新填充div

时间:2016-07-22 08:28:47

标签: javascript jquery html ajax

我试图在AJAX完成更新后重新填充div。 这是我尝试使用的AJAX代码。

$(document).on("sf:ajaxfinish", ".searchandfilter", function(){
            console.log("ajax complete");
            //so load your lightbox or JS scripts here again
            $( ".things" ).refresh();
        }); 

我的控制台现在说refresh is not a function这是正确的。因为我没有写过函数。问题是,我真的不知道如何编写一个函数来刷新div .things。我希望有人可以帮助我吗?

我试过了:

function refresh {
    $('.things').load(document.URL +  ' .things');
}

但这给我一个语法错误,我不知道这是否是正确的方法?

这是我的控制台日志。

S&F JS initialised script:125:4
ajax start script:110:5
ajax complete script:118:4
TypeError: $(...).refresh is not a function

提前感谢!

2 个答案:

答案 0 :(得分:2)

改变这个:

$( ".things" ).refresh();

仅限于此:

refresh();

刚刚注意到你错过了或者这里有一个错字:

function refresh { // here you don't have () as functions requires these.

refresh();是一个函数,而不是在选择器上绑定的方法。

根据你的评论你可以在函数的args中传递选择器并使用它:

function refresh($el){
    $el.load(document.URL +  ' .things');
}

现在你可以这样称呼它:

refresh($('.things'));

答案 1 :(得分:0)

您正在编写干净的代码,但请记住refresh()是用户定义的函数,而不是预定义的函数。

所以你只需使用下面的

SubscriptionRegistry>>handlesAnnouncement:

而不是

 refresh();

我在你的代码中注意到了另外一件事。你省略了在下面的代码中添加()

$( ".things" ).refresh();