在xhr.responseText中使用getElementsByName作为纯文本

时间:2014-09-22 10:58:18

标签: javascript xmlhttprequest

我在网站上进行的XMLHttpRequest没有官方API,而且我在xhr.responseText收到了HTML响应。但是,我无法xhr.responseText.getElementsByName("something")[0].value;提取特定元素的值,这些元素称为"某些内容"。

我可以打开一个新窗口并使用document.write在该窗口上编写xhr.responseText,然后使用window_name.getElementsByName("something")[0].value;,但我不会这样做。

我的代码中有问题的部分:

xhr.responseText.getElementsByName("something")[0].value;

1 个答案:

答案 0 :(得分:1)

您可以在支持它的浏览器中使用DOMParser API

var parser = new DOMParser();

var doc = parser.parseFromString(xhr.responseText, "text/html");

现在docHTMLDocument个对象,getElementsByName和所有对象。

在IE9 +和其他标准浏览器中可用(用于HTML文档的IE10,在Safari中不可用)。

<强>替代

你也可以create HTML documents而不需要新的窗口/框架:

doc = document.implementation.createHTMLDocument("");
doc.documentElement.innerHTML = xhr.responseText;

这也应该在IE9和Safari中可用。