Php 完成更新页面时,jQuery OnClick运行外部页面

Php 完成更新页面时,jQuery OnClick运行外部页面,php,jquery,ajax,onclick,Php,Jquery,Ajax,Onclick,我知道可以使用jQuery加载/运行外部网页。在过去,我使用过类似于: $.ajax({ url : 'test.php'}) 我现在要做的是,当用户单击“GO”按钮时,调用外部PHP。运行时,主页面应显示“请稍候”,外部脚本完成后,主页面应更新为“显示已完成” 我调用的php页面实际上正在运行一个shell脚本,我没有从中得到任何反馈。但是,页面运行并完成得很好 我是否可以判断它是否仍在运行,然后更新主页 如果有人能给我指出正确的方向,我将不胜感激 谢谢 根据下面的答案进行更新 <sc

我知道可以使用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" />

$(文档).ready(函数(){
$(“#更新”)。单击(函数(){
$(“#status”).html(“请稍候!

”); $.ajax({url:'test.php'}).done(function(){$(“#status”).html(“Completed”);}); }); });
您还应确保舒尔服务器端脚本运行正常!并以状态ok进行响应

让我们举一个例子:

您有以下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" />

您需要从外部页面返回一些内容,即使它只是一个状态为200响应的空页面。脚本需要多长时间才能完成?您能否在结尾返回一些内容,理想情况下是一个标记,说明“完成”或“真/假”,以便您的ajax能够适当地处理它。ajax使用
$(“#go elm”)。在('click')
。您需要阅读
done()
回调,以了解页面何时完成发送到浏览器的ajax:要检查ajax请求是否完成,可以使用
ajaxComplete
<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" />
$("#status").html("Completed");