Javascript Pjax中的Pjax重新加载:完成

Javascript Pjax中的Pjax重新加载:完成,javascript,yii2,pjax,Javascript,Yii2,Pjax,我正在尝试在pjax请求后重新加载警报容器。 我的目标是在发出任何pjax请求后重新加载容器的代码,因此我不必每次单独调用它 我有以下代码: $(document).on('pjax:complete', function(event) { $.pjax.reload({container:"#alerts"}); }); 但是,这会将整个页面发送到一个永无止境的循环中 有没有办法解决这个问题,或者我不应该使用pjax来解决这个问题 多谢各位 更新 以下代码可以工作,但我觉得它

我正在尝试在pjax请求后重新加载
警报
容器。
我的目标是在发出任何pjax请求后重新加载容器的代码,因此我不必每次单独调用它

我有以下代码:

$(document).on('pjax:complete', function(event) {
        $.pjax.reload({container:"#alerts"});
});
但是,这会将整个页面发送到一个永无止境的循环中

有没有办法解决这个问题,或者我不应该使用pjax来解决这个问题

多谢各位

更新 以下代码可以工作,但我觉得它不是完美的解决方案:

var time = Date.now();
$(document).on(\'pjax:complete\' , function(event) {
    if(time <= Date.now()){ //Check if there has been a recent reload
        time = Date.now() + 1000;
        console.log(time);
        App.restartGlobalFunction();
        $.pjax.reload({container:"#alerts", async:false});
    }
});
var time=Date.now();
$(文档).on(\'pjax:complete\',函数(事件){

如果(time在pjax小部件的特定id上尝试pjax,如下所示:-

$this->registerJs('
    jQuery(document).on("pjax:success", "#brand-form",  function(event){
            $.pjax.reload({container:"#alerts",timeout:2e3})
          }
        );
   ');

在pjax小部件的特定id上尝试pjax,如下所示:-

$this->registerJs('
    jQuery(document).on("pjax:success", "#brand-form",  function(event){
            $.pjax.reload({container:"#alerts",timeout:2e3})
          }
        );
   ');

您的问题可能是使用URL pjax容器将选项
location
添加到Take containers。如果您翻页多个pjax需要添加pjax
id
location

您的问题可能是使用URL pjax容器将选项
location
添加到Take containers。如果您翻页多个pjax到need要添加pjax
id
位置

也要查看此答案您需要设置超时,否则它将不起作用。我已更新了问题。完全相反。也要查看此答案您需要设置超时,否则它将不起作用。我已更新了问题。完全相反,它起作用。那么,它只起作用n那个特定的小部件,对吗?我正试图让上面的代码在任何pjax调用上工作。谢谢你的回答。它将创建一个pjax永无止境的循环,因为$.pjax.reload也是一个pjax调用,它将再次调用
pjax:complete
。那么,它只在那个特定的小部件上工作,对吗?我正试图做的是让以上代码适用于任何pjax调用。感谢您的回答。它将创建一个pjax永无止境的循环,因为$.pjax.reload也是一个pjax调用,它将再次调用
pjax:complete
。。