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