我需要在加载 script.sh 时创建一个带有图像的加载器 div
这是我的代码:
<?php
if (isset($_POST['restartserver']))
{
shell_exec("my-script.sh");
}
?>
<html>
<body>
<div class="refresh">
<form method="post">
<p>
<button class="button" name="restartserver">Restart Server</button>
</p>
</form>
</div>
</body>
</html>
所以当我点击按钮时我需要一个加载图像,当加载 script.sh 时图像加载器消失,你可以再次点击 div 中的按钮。
实际上,当我点击按钮时,脚本运行正常,但我看到浏览器正在加载脚本,完成后它会重新加载同一页面。
我只想要加载脚本时的加载器 image.gif
我知道这可以用 Ajax 来完成,但我没有找到一个有效的例子
最佳答案
使用 jQuery 实现简单的 ajax。以下代码假定重启脚本在重启完成时输出“完成”,以及任何其他错误。
$('#loaderdiv').html('<img src="loader.gif" />');
$.get('http://path.to/restart.php', function(data){
if (data == "complete"){
$('#loaderdiv').html('Reboot Complete');
} else {
$('#loaderdiv').html('An Error Has Occured');
}
});
HTML
<div id="container">
<button id="runscript">Run Script</button>
</div>
Javascript
$(document).ready(function(){
$('#runscript').click(function(e){
e.preventDefault();
$('#container').html('<img src="loader.gif" />');
$.get('http://path.to/execute_sh_script.php', function(data){
// Code here executes once ajax is complete
$('#container').html('**strong text**');
});
});
});
关于php - 处理 Exec_Shell 脚本时显示加载图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33044591/