我有一个网页,使用命令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代码中吗?
谢谢你
每当即将发送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] 删除。
我来说两句