我有一个安装脚本,我通常通过Linux终端会话运行。我决定看看我是否可以制作一个只有一个按钮的简单页面,当按下脚本运行时。
我设法让它工作,按下HTML按钮确实运行脚本,并且工作正常。
理想情况下,我希望看到脚本的输出返回到其上有按钮的页面,然后我可以检查返回数据中的值以确保它正常工作。我该怎么做?
这是我到目前为止所拥有的......
这是 index.php :
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#scs").click(function() {
$("#status").html("<p>Please Wait! TESTING</p>");
$.ajax({
url: 'go.php?ab=1',
complete: function(xhr, textStatus) {
alert(textStatus);
},
success: function(data, textStatus, xhr) {
alert(textStatus);
},
error: function(xhr, textStatus, errorThrown) {
alert(textStatus);
}
});
});
});
</script>
<span id="status"><span>
<input type="button" id="scs" value="TEST" />
按下SCS按钮时,会调用 go.php 页面并传递变量 ab = 1 。这将运行以下内容:
go.php
if (isset($_REQUEST['ab']) && $_REQUEST['ab']=='1') {
exec('sudo /home/user/dowork.script', $out);
echo $out;
}
这样可以正常运行'dowork.script'。 但我想将 $ out 的结果传递回index.php,以便我可以搜索关键词。例如:是|已安装|成功或否|失败|错误
然后,如果没有错误,我可以显示一个图像,或者如果有错误,我可以显示另一个。
答案 0 :(得分:0)
这对我有用..
$("#scs").click(function() {
$("#status").html("<p>Please Wait! TESTING</p>");
$.ajax({
url: 'go.php?ab=1',
success: function(data, textStatus, xhr) {
alert (data);
}
});
});
更新了go.php以显示:
if (in_array("OK", $output)) echo "Finished";
现在已完成传回并显示在警报中。 :)