如何使用ajaxStart显示加载微调器?

最高

我有一个网页,使用命令shell_exec运行python脚本。我想要一个加载微调器,在Python脚本运行时显示“请稍等此页面加载”消息,然后在执行完之后显示其余的HTML回显。

我在https://stackoverflow.com/a/68503/4630491上找到了看起来不错的解决方案,但是我对ajax还是陌生的,所以我不知道如何使用该解决方案。我试着做

<div id="loadingDiv">Please wait while this page loads.</div>
<script>var $loading = $('#loadingDiv').hide();
$(document)
  .ajaxStart(function () {
    $loading.show();
  })
  .ajaxStop(function () {
    $loading.hide();
  });
</script>

但这没有用。我需要调用ajax来执行ajaxStart吗?我怎么称呼它?我应该将shell_exec包装在ajax代码中吗?

谢谢你

马诺哈尔·贡图鲁(Manohar Gunturu)

每当即将发送Ajax请求时,jQuery都会检查是否还有其他未完成的Ajax请求。如果没有正在进行中,则jQuery触发ajaxStart事件。

具有如下所示的加载gif图像

           <div id="loading">
                <img src="loading.gif" />  
           </div>

首先隐藏此加载div(因为要发送ajax请求时必须显示加载图像)。

              <script>
                   var $loading = $('#loading').hide();
                   //Attach the event handler to any element
                   $(document)
                     .ajaxStart(function () {
                        //ajax request went so show the loading image
                         $loading.show();
                     })
                   .ajaxStop(function () {
                       //got response so hide the loading image
                        $loading.hide();
                    });
              </script>

有关更多信息,请参见jQuery文档。

我需要调用ajax来执行ajaxStart吗?我怎么称呼它?

是的,当您触发ajax请求时,只有ajaxStart会被自动触发。

对于ajax,jquery有多种方法,下面给出了load函数。

               $( ".result" ).load( "some_file.py" );

some_file.py输出将以类名result插入到div中。

要触发加载事件,您可以根据需要使用按钮单击或任何其他操作。

               $( ".trigger" ).click(function() {
                  $( ".result" ).load( "some_file.py" );
               });

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章