解析AJAX HTML响应并获取对象Nodelist并显示为HTML

时间:2015-08-28 06:11:15

标签: javascript html ajax html-parsing nodelist

我在普通的javascript中进行一些AJAX调用,它返回一个HTML。 在回调中,我可以看到HTML中的响应。我可以解析包含[Object Nodelist]的响应。现在在我的HTML中有选择列表,我想用这个在ajax响应中收到的更新的Nodelist替换这个选择列表。但问题是它是nodelist,我希望它显示为。这样我就可以用ajax响应替换原来的选择列表。

我的代码:

function loadFacility(callback)
{
    //alert('In loadFacility');
    var xmlhttp;
    var keys=document.firstCallInformation.facilityselect.value;
    var urls="http://localhost:8080/webfdms/showFirstCallInformation.do?vitalsId=366";
    if (window.XMLHttpRequest)
    {// code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp=new XMLHttpRequest();
    }
    else
    {// code for IE6, IE5
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange=function()
    {
        if (xmlhttp.readyState==4 && xmlhttp.status == 200)
        {
             //var some=xmlhttp.responseXML.documentElement;
            var response = xmlhttp.responseText;
            console.log(response)
            callback(xmlhttp.responseText);
        }
    }
    xmlhttp.open("GET",urls,true);
    xmlhttp.send(null);
}
function loadFacilityCallback(response){
    if(response != null){
        //alert(response);
        console.log(response);
        var div = document.createElement("div");
        div.innerHTML = response;
        document.getElementById("facilityselect").innerHTML = div.querySelector("select#facilityselect");
    }
}

现在在回调函数(loadFacilityCallback)中,我正在创建DIV元素并解析响应。但是当我使用div.querySelector("select#facilityselect")将更新的选择列表分配给document.getElementById("facilityselect").innerHTML时,我在选择列表中看不到任何内容,因为它是[对象节点列表]。现在我如何从nodelist获取我的选项值。

请帮忙。

0 个答案:

没有答案