【发布时间】:2015-11-29 09:21:07
【问题描述】:
我正在尝试加载外部 html 文件并对正文中的内容进行字符串化,但似乎无法这样做,否则会产生不希望的结果。有没有办法做到这一点?
var xhr = new XMLHttpRequest();
function loadFile(){
xhr.open("GET", 'index.html');
xhr.responseType = "document";
xhr.send();
}
xhr.onload = function(data) {
myData = data;
myString = JSON.stringify(myData.srcElement.responseXML.body.children);
console.log(myString)
//logs: {"0":{},"length":1}
}
loadFile();
但我需要它加载的是实际的 div 内容,例如:
//log: '<div id ='mydiv'>...</div>
我做错了什么?
【问题讨论】:
-
您必须将您想要的内容提取到您自己的 JavaScript 数据结构中,然后将其字符串化。内置的序列化程序不能直接在 DOM 上工作。
-
使用 document.body.innerHTML
-
如果你想要的只是实际的div内容,那么你不需要
JSON.stringify它。改为这样做:myString = myData.srcElement.responseXML.body.children; -
@raghavendra 我需要将值创建为字符串,以便我可以替换一些值或 id、属性、文本等。
标签: javascript html json xmlhttprequest stringify