使用Javascript解析HTML中的AJAX响应

我在使用Javascript的代码中使用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.querySelectorAll("select#facilityselect");;
}

编辑:
我已经更新了回调函数.但是在这里,我收到了选择列表作为[对象节点列表].现在如何在HTML中显示?

在回调函数中,我现在想以HTML格式接收响应,因此我想解析该HTML响应,以便进一步处理它.我正在使用普通的javascript来这样做.如何解析以HTML格式接收的Ajax响应?

最佳答案
创建一个DIV元素,然后将HTML放入innerHTML中.那将解析它.

var div = document.createElement("div");
div.innerHTML = response;

现在您可以在div中处理它,例如div.querySelector( “类名”).要获得所有的< select>标签,执行:

var selects = div.querySelectorAll("select");

要将其放入您的网页,您可以执行以下操作:

document.getElementById("facilityselect").innerHTML = div.querySelector("select#facilityselect").innerHTML

转载注明原文:使用Javascript解析HTML中的AJAX响应 - 代码日志