php - 返回动态内容时尝试加载 "div"

标签 php javascript jquery ajax asynchronous

我有一个 PHP 程序,它执行一系列 key 驱动的 SSH 连接(作为 Apache 用户 www-data),并在远程服务器上执行脚本以检查几个服务/守护程序的状态。根据报告的状态“正在运行”或“已停止”,一个函数会确定应在 div 表格单元格中显示的适当图像(绿色复选标记或红色“x”)。

看起来像这样:

service status screen capture

问题是轮询了 9 个服务器,动态构建了 18 个 div 表单元格。当数据从每个 SSH 调用返回时,我想刷新/显示每个 div。

这是 PHP 代码,每次 SSH 调用都会插入包含结果的 div:

           $cmd_string=buildServiceCallString($distIP, "VolCreationService","serviceCheck");

            echo "<div class=\"statTableRow\">";
        echo "<div class=\"statData statTableCell\">";
            $cmd_output=shell_exec($cmd_string);
            echo "<span class=\"serviceTitle\">VolCreationService: <img class=\"runStatImage\" src=\"".displayRunStatusImage($cmd_output)."\"></span>";
            $cmd_output="";
                   echo "</div>"; //end statTableCell
                   echo "</div>"; //end statTableRow

我已经努力理解 jQuery .load() 方法,但它还没有点击。我想这将涉及回调,但我不明白如何通过异步调用访问和显示元素。

非常感谢任何建议!

-恩

最佳答案

这是一个非常简单的例子,说明了如何向 DOM 元素动态添加内容。你可以使用 $.ajax

 var request = $.ajax({
      type: "POST",
      url: "example.php",
      data: data_obj,
      dataType: "html"
   }).done(function(msg) {
         $("#example_element").append(msg);
      }

url: 将指向您的文件。

data: 是可选的,但使用该选项将允许您传回要检索的 key 。

dataType:指定你期望的返回类型

在 .done 中,您可以做的加载内容最简单的事情就是将其附加到某些内容(或替换,但在您的情况下您可能想要附加它)。

请注意,此调用不会检查错误情况。

The documentation is pretty verbose but you should still read it if you plan on using AJAX calls.

关于php - 返回动态内容时尝试加载 "div",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18138005/

相关文章:

javascript - ajax不是通过jquery调用的

php - 在 camelCased 字符串中的单词之间添加空格,然后大写第一个单词

php - 在 JSON 中编码数据

javascript - 如何从应用程序向 PyQtWebkitView javascript 发出信号?

javascript - 从 Jscript 获取主机名的 API

javascript - 如何在 html javascript jquery 拖放事件(非 html5)上获取文件名

php - 如何将父ID自动插入到另一个表中?

php - imagecreatetruecolor因1536X1962而失败,但尺寸较小

javascript - 选择特定下拉值时执行的函数

javascript - 动态在表尾添加TR