Ajax调用加载的Javascript无法执行?

时间:2018-10-07 13:56:35

标签: javascript html ajax ecmascript-6 ecmascript-2017

我正在尝试使用Ajax-get进入我的临时页面的html代码。

这可以正常工作,只是未按预期执行javascript。如果我在浏览器中独立加载代码,则javascript将按预期执行。如果在我的临时页面中使用Ajax实施,则不会。为什么?

这是我正在加载的html和javascript代码:

<link rel="stylesheet" type="text/css" href="/x/x/x/x/stylesheet.css">
<div id='content_Box'></div>
<script type="text/javascript" src="/x/x/x/x/javascript.js" charset="utf-8"></script>

这是加载它的ajax代码:

    var xhttp = new XMLHttpRequest();
    xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {

    content_Box.innerHTML = "";

    content_Box.innerHTML = this.responseText;

    }
    };

    xhttp.open("GET", Pfad, true);
    xhttp.send();

谢谢您的时间!

2 个答案:

答案 0 :(得分:0)

这可能取决于您的js实际执行的操作。
无论如何,一旦加载了ajax响应(在xhttp.onreadystatechange中),就可以调用这些函数,以确保也可以在从响应中获得的部分上至少运行一次。

答案 1 :(得分:0)

您的问题不在于ajax调用。

问题在于

content_Box.innerHTML = this.responseText;

不会导致任何脚本执行。

有关查看文本,查找脚本并执行它们的一些代码,请参见Executing <script> elements inserted with .innerHTML