我知道可以使用jQuery加载/运行外部网页。在过去,我使用过类似的东西:
$.ajax({ url : 'test.php'})
我现在要做的是当用户点击“GO”按钮调用外部PHP时。当它正在运行时,主页面应该显示“请等待”,一旦外部脚本完成,主页面应该更新为显示已完成。
我正在调用的php页面实际上正在运行一个shell脚本,但我没有得到任何反馈。然而,页面运行并完成正常。
无论如何,我可以判断它是否仍在运行,然后更新主页?
如果有人能指出我正确的方向,我将不胜感激。
谢谢
根据以下答案更新。
<script type="text/javascript">
$(document).ready(function() {
$("#update").click(function() {
$("#status").html("<p>Please Wait!</p>");
$.ajax({ url : 'test.php' }).done(function() { $("#status").html("Completed"); });
});
});
</script>
<span id="status"><span>
<input type="button" id="update" value="Check for Update" />
答案 0 :(得分:1)
$.ajax({
url:"test.php",
beforeSend: function(){
//show the loading!
},
success:function(){
//hide the loading
}
})
您还应该确保服务器端脚本正确运行!和状态确定响应!
答案 1 :(得分:1)
让我们举一个例子:
你有这个HTML:
<script type="text/javascript">
function updatecheck()
{
//Shows Please Wait in Status
$("#status").html("<p>Please Wait!</p>");
$.ajax({ url : 'test.php'})
.done(function() {
//Hides Status
$("#status").html("");
}
</script>
<span id="status"><span>
<input type="button" onclick="updatecheck()" value="Check for Update" />
当ajax请求完成时, .done
将被触发,它将隐藏值。
如果您想要显示已完成而不是隐藏值,请使用:
$("#status").html("Completed");