我有一个网页,该网页使用命令shell_exec运行python脚本。我想要一个加载微调器,在Python脚本运行时显示“请稍等此页面加载”消息,然后在执行完之后显示其余的回显HTML。
我找到了看似不错的解决方案,但是我对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吗?我怎么称呼它?我应该用ajax代码包装shell_exec吗?
谢谢你
每当即将发送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" ); });