当前位置: 首页 > 面试题库 >

使用Javascript解析HTML中的AJAX响应

孟鹏海
2023-03-14
问题内容

我在使用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(".classname")。要获取所有<select>标签,请执行以下操作:

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

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

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


 类似资料:
  • 问题内容: 我使用以下函数通过jQuery AJAX发布表单: 它发布正常,但我无法解析响应,它记录到控制台,如下所示 我相信这是我正在寻找的回应。 但是,当我尝试执行响应对象的任何其他成员时,它就是。 任何建议表示赞赏。 问题答案: 呼唤 应该可以访问所需的数据。 现在应该显示“ 1”

  • 问题内容: 我在使用jQuery 解析HTML字符串时问我如何在html字符串上使用jQuery。一切正常,但是当我将其应用于ajax时-它不起作用。这是代码。 moo.html包含 如何获得斑马纹和杠铃? 问题答案: 我认为其中的换行符可能会让您失望。 html中的所有换行符最终都将由jQuery解析并保留为文本节点元素。结果,当这些节点中的第一个被命中并调用时,它将停止迭代(不适用于非Elem

  • 我正在使用以下命令解析包含HTML标记和javascript标记的HTML字符串 问题在于 Javascript 元素只包含在一行中。 另外,我已经尝试过 这适用于Javascript…但是超文本标记语言元素已经包含在没有结束标记的元素中。例如: 已被解析为 当我运行我的应用程序时,它不起作用。 我该如何解决这个问题?有没有办法使用JSOUP一起解析HTML和脚本? 注意:我刚刚在 JSOUP g

  • 问题内容: 我有这段HT​​ML: 我通过一个简单的.ajax调用来获取 如果我用它过滤: 它工作正常,我得到整个div的id =“ 1”, 但是如果使用: htmlFiltered变量是一个空对象。我不知道我在做什么错。 问题答案: 您应该这样存储它: 编辑:您获取html的方式有效,但是不建议这样做。 您无法获取最后一个元素,因为您正在使用而不是,因此您应该具有: 代替 另外,W3C建议不要使

  • 本文向大家介绍使用PHP的HTML DOMDocument解析HTML,包括了使用PHP的HTML DOMDocument解析HTML的使用技巧和注意事项,需要的朋友参考一下 可以通过以下代码获取<div>标记内的<div>标记内的文本,其中<div>内的class =“ main”内- 示例 输出结果 这将产生以下输出-

  • 问题内容: 我正在使用JQuery执行Web服务调用,它是ajax函数,无法解析返回的数据。当我警告数据(alert($(data).find(“ return”)。text())为空时,我看到服务器响应xml数据,如下所示,当我警告(数据)时,我得到了[object XMLDocument给定我的XML结构并在下面使用命名空间,txt = $(data).find(“ return”)。text