AJAX和DOM功能出现故障

时间:2011-08-11 16:20:08

标签: javascript ajax

尝试调用为

创建显示容器的方法
xmlhttp.responseText;//createDisplayElement()

以下内容: JS BIN Document

FF中的错误控制台没有错误,但行为已关闭,未正确刷新页面。

3 个答案:

答案 0 :(得分:1)

看起来obj可能在函数的上下文中被不正确地定义。请尝试this

// It is called as:
obj.createDisplayElement(); 


// But the function also uses obj
function createDisplayElement(){

    var para = document.createElement("p");
    this.appendChild(para);
  //^^^^^^  
    var txt = xmlhttp.responseText;
    para.appendChild(txt);
}

答案 1 :(得分:1)

此功能缺少对obj

的引用
function createDisplayElement(){

    var para = document.createElement("p");
    obj.appendChild(para);
    var txt = xmlhttp.responseText;
    para.appendChild(txt);

}

答案 2 :(得分:1)

我在代码中看到了2个问题。

  1. obj未正确定义。
  2. 纯文本(xmlhttp.responseText)附加到p元素。
  3. 以下都纠正了这两个问题。

    试试这个,

    function makerequest(serverPage, objID)
    {
    
        xmlhttp.open("GET", serverPage);
        xmlhttp.onreadystatechange = function(){
    
            if(xmlhttp.status == 200 || xmlhttp.readyState == 4){
    
                createDisplayElement(objID);
            }
        };
    
        xmlhttp.send(null);
    }
    
    function createDisplayElement(objID){
        var obj = document.getElementById(objID);
        var para = document.createElement("p");
        obj.appendChild(para);
        var txtNode = document.createTextNode(xmlhttp.responseText);
        para.appendChild(txtNode);
    
    }