我有一个输入表单,它实时显示来自三个不同的基于cgi的查找的结果。


我的第一个方法是有三个iframe我改变了。每次搜索的src都有效,但感觉不必要:


 < iframe id =“iframe1”>
 document.getElementById(“iframe1” ).src =“/ cgi-bin / one.cgi”;



 我的第二种方法是有三个对象:s有他们的.data发生了变化,但感觉也很糟糕:


 < object id =“object1”>
 document.getElementById(“object1 “).data =”/ cgi-bin / one.cgi“;



 以上两个例子都起作用 - 功能上,但我想知道更好的方法。例如,如何使用DIV获得相同的结果?即没有iframe:s或object:s。

答案 0 :(得分:0)
另一种方法是使用this。这意味着您必须创建并发送XMLHttpRequest
。收到回复后,您必须将其放入<div>
。
这是一个简约的例子:
var div = document.getElementById("results");
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4) {
if (this.status == 200) {
div.innerHTML = this.responseText;
} else {
div.innerHTML = "<h1>Error " + this.status + "</h1><p>The content could not be loaded.</p>";
}
}
};
xhttp.open("GET", "/cgi-bin/one.cgi", true);
xhttp.send();
对于跨浏览器兼容性,建议您使用AJAX或this function。