我已经编写了下面的代码段来发送HTTP请求来获取HTML文件。 HTML文件包含CSS和JS(链接和脚本标记):
var request = new XMLHttpRequest();
request.open('GET', 'form.html', true);
request.onload = function() {
if (request.status >= 200 && request.status < 400) {
var resp = request.responseText;
this.innerHTML = resp;
} else {
}
};
request.onerror = function() {
};
request.send();
上面的代码段发送请求并获取HTML。但是,将HTML放入DOM并且不发送获取样式和javascript的请求时会出现问题。如何执行上述操作并获取响应HTML,将其放入页面,并让它发送请求以获取各种资产?
答案 0 :(得分:1)
在onload
处理程序中,this
引用request
对象,而不是文档,因此设置innerHTML
属性不会做任何有用的事情。您需要告诉它放置新HTML的位置,例如
request.onload = function() {
if (request.status >= 200 && request.status < 400) {
var resp = request.responseText;
document.documentElement.innerHTML=resp;
} else {
}
}
(注意这在早期的IE版本中不会起作用)