首页 > 解决方案 > 如何使用 js 解析 XMLHttpRequest 的 HTML 响应文本?

问题描述

这是我的代码:

const http = new XMLHttpRequest();
const url  = 'http://page/';

http.open('get', url, false);
http.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');

http.onreadystatechange = function ()
{
  if(http.readyState === 4)
  {
    if(http.status === 200 || http.status == 0)
    {
        let str = (http.responseText);
        results = document.getElementById('test').value;
        alert(results)
    }
  }
}

http.send();

如何将 str 排序为 html,以便使用 document.getElementById 获取值?

我努力了

var doc = document.implementation.createHTMLDocument("example");

doc.documentElement.innerHTML = http2.responseText; 

let test1 = doc.body.querySelector("#test").value;

它有效,但它给了我一个空值,当我查看响应预览时,我发现值栏是空的,选项就像出厂默认状态一样。当我查看页面的 html 代码时,在这一行中找到了值

<script language=javascript>Transfer_meaning('test','\12345678');</script>

标签: javascripthtmlhttpxmlhttprequesthttpresponse

解决方案


如果 responseText 是纯文本 HTML,您可以这样做

document.getElementById('test').innerHTML = str;

推荐阅读