调用远程服务器时,php内的基本加载器微调器

时间:2017-04-26 10:05:14

标签: javascript php spinner classloader

我想在我的远程脚本运行时添加一个加载微调器,而我的前端页面处于“等待...”状态。 我只有1个php页面和一个CSS。 (暂时还在测试中,所以我还没有拆分脚本页面和html页面)。

我有以下用于加载器的css:

编辑Style.css以替换“。”用“#”

#loader {
    border: 16px solid #f3f3f3; /* Light grey */
    border-top: 16px solid #3498db; /* Blue */
    border-radius: 50%;
    width: 120px;
    height: 120px;
    animation: spin 2s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

我的页面看起来像这样(清理后): 使用webbm评论编辑

<!DOCTYPE html>
<html>
<head>
  <title> BETA APP HOME PAGE </title>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
  <link rel="stylesheet" href="CSS/style.css">
</head>
<body>

<div id="loader"></div>

<?php
if (isset($_POST['STARTVISUREC']))
{

   echo '<script>console.log("End loader spinner")</script>';
// making appearing the spinner before the call to remote server. 
    echo '<script language="javascript">';
    echo 'document.getElementById("loader").style.display="inline"';
    echo '</script>';

// calling remote APP in BE server. 
$remotstarter = file_get_contents('http://192.168.56.154/WEBAPP/wa_start.php');

   echo '<script>console.log("End loader spinner")</script>';
// making disappearing the spinner after the call to remote is finished. 
    echo '<script language="javascript">';
    echo 'document.getElementById("loader").style.display="hidden"';
    echo '</script>';

}
if (isset($_POST['STARTFACEREC']))
{
// calling local script for other usage. 
shell_exec("sudo python  AppPy/cgi-bin/test.py");
echo("Off");
}
?>

<form method="post">
<button name="STARTVISUREC">START VISU REC</button>&nbsp;
<button name="STARTFACEREC">START FACE REC</button><br><br>
</form> 
<script>
</script>
</div>
</div>
<div style="margin-left:15%;padding:1px 16px;height:10px;">
</div>
</body>
</html>

仍然不正确加载微调器没有出现

1 个答案:

答案 0 :(得分:1)

具体而言,您可以echo脚本标记。

<?php
 echo '<script language="javascript">';
 echo 'document.getElementById("loader").style.display="inline"';
 echo '</script>';
?>

请注意,我切换了"'的使用情况。查看echo文档,了解其有用的原因https://secure.php.net/manual/en/function.echo.php

我建议您查看ajax查询,这些查询可以让您根据服务器响应在javascript内执行javascript操作。

以下是一个基本示例:https://www.w3schools.com/php/php_ajax_php.asp