除了<iframe>和<object>之外,如何使用Javascript和cgi显示结果?

时间:2017-01-29 00:53:29

标签: javascript html cgi

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

&#xA;&#xA;

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

&#xA;&#xA;
 &lt; iframe id =“iframe1”&gt;&#xA; document.getElementById(“iframe1” ).src =“/ cgi-bin / one.cgi”;&#xA;  
&#xA;&#xA;

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

&#xA;&#xA;
 &lt; object id =“object1”&gt;&#xA; document.getElementById(“object1 “).data =”/ cgi-bin / one.cgi“;&#xA;  
&#xA;&#xA;

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

&#xA;

1 个答案:

答案 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();

对于跨浏览器兼容性,建议您使用AJAXthis function