这是使用php和jquery的服务器状态页面。该页面可以描述为具有空单元格的appservers和webservers表,其中状态将显示在按钮单击上。单击该按钮时,将异步触发servercheck.php脚本的许多实例(使用jquery而不是同步PHP的原因),并根据td元素的id将结果返回到表中的正确单元格
除了背景信息之外,所有这些都是无关紧要的。
因此,当页面首次加载时,像这样的单元格正在等待填充:
<td id="a101-w01"> </td>
所以我有一个工作的.load(),其中的例子是:
$("#a101-w01").load(\"singleServerCheck.php?&appserver=appservera&webserver=webserver1");
会返回类似的内容:
<td id="a101-w01" class="up">Server UP</td>
我不能使用(&#34;#a101-w01&#34;)。load()因为它只替换了元素的内容,而不是元素本身(因此创建了一个单元格)在已经存在的单元格内部)
我想要的是这个
<td id="a101-w01"> </td>
将被替换为
<td id="a101-w01" class="green">SERVER UP</td>
Urgh有点难以解释:)无论如何我尝试过这样的事情:
$("#a101-w01").replaceWith().load(\"singleServerCheck.php?&appserver=appservera&webserver=webserver1");
和
$("#a101-w01").replaceWith(.load(\"singleServerCheck.php?&appserver=appservera&webserver=webserver1"));
但他们不对...有人可以帮助这个n00b将两个功能结合在一起吗? :)
答案 0 :(得分:2)
您可以使用jQuery.get()
。
$.get("singleServerCheck.php?&appserver=appservera&webserver=webserver1", function(data) {
$("#a101-w01").replaceWith(data);
});
答案 1 :(得分:2)
替换td
不正确。我看到你想要做的事情非常简单。尝试这样的事情。
从服务器端返回一个字符串"SERVER UP"
或"SERVER DOWN"
并使用该更改添加所需的文本和类
$.get("singleServerCheck.php?&appserver=appservera&webserver=webserver1", function(data){
$('#a101-w01').html(data).addClass(data == "SERVER UP" ? "green" : "red");
});
答案 2 :(得分:0)
答案 3 :(得分:0)
您将无法使用简写ajax函数.load()来执行此操作,因为它会将结果插入到元素中,而不会替换它。
而是使用.get()函数,它具有更长的语法,但可以完成确切的工作:
$.get('singleServerCheck.php',{appserver:'appservera',webserver:'webserver1'},function(data){
$("#a101-w01").replaceWith(data)
})