XMLHttpRequest生成带有更多XMLHttpRequest请求的HTML

时间:2016-02-17 17:42:34

标签: javascript ajax

说我有以下代码:

<div id="dashboard">
  Loading Dashboard.....
</div>
<script>
  var xhttpDashboard = new XMLHttpRequest();
  xhttpDashboard.onreadystatechange = function() {
    if (xhttpDashboard.readyState == 4 && xhttpDashboard.status == 200) {
      document.getElementById("dashboard").innerHTML = xhttpDashboard.responseText;
    }
  };
  xhttpDashboard.open("GET", "https://www.example.com/getdashboard.html", true);
  xhttpDashboard.send();
</script>

getdashboard.html 会返回html,而html又包含更多要执行的javascript XMLHttpRequest。我发现这些第二组XMLHttpRequests没有执行。

如何才能执行第二组javascript?

更新 发现这篇文章很有用: https://24ways.org/2005/have-your-dom-and-script-it-too

1 个答案:

答案 0 :(得分:0)

如果你使用jQuery,有一个简单的答案。

  

使用不带后缀选择器表达式的URL调用.load()时,在删除脚本之前将内容传递给.html()。

所以使用jQuery你可以做到:

<div id="dashboard">
  Loading Dashboard.....
</div>
<script>
$("#dashboard").load("https://www.example.com/getdashboard.html");
</script>

将执行脚本标记。

此功能的文档位于此处:https://api.jquery.com/load/