JS加载应该加载HTML资源的外部HTML(CSS和JS)

时间:2015-08-31 15:43:44

标签: javascript html

我已经编写了下面的代码段来发送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,将其放入页面,并让它发送请求以获取各种资产?

1 个答案:

答案 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版本中不会起作用)