javascript - ajax可以在目标页面上调用触发onload事件吗?

时间:2014-11-28 20:01:41

标签: javascript html ajax

我想知道ajax可以在目标页面上调用触发onload事件吗? 所以它是这样的,我有一个页面(test.html)具有简单的功能来更改将在页面加载时运行的div的内容... 这是代码:

<body onLoad = "a()">
    <div id="main">the result is here</div>
</body>
<script>
    function a()
    {
        document.getElementById("main").innerHTML =
        "Success";
    }
</script>

我有另一个页面(call.html),其中ajax调用目标test.html并在div中显示结果... 这是代码:

<body>
    <button onclick="call()">Click</button>
    <div id="box"></div>
</body>
<script>
    function call()
{
    var xmlhttp = new XMLHttpRequest();
    var url = "test.html";

    xmlhttp.open("GET", url, true);
    xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            document.getElementById("box").innerHTML =
            xmlhttp.responseText;

            alert("Success");

        }
    }
    xmlhttp.send();
}
</script>

如果我只是加载test.html,div中的内容会发生变化,但如果我使用call.html来调用该页面,那么内部就不会改变...

这是因为ajax在onload事件中没有触发函数吗?

1 个答案:

答案 0 :(得分:0)

这种情况正在发生,因为您尝试从本地打开URL,即使用file://而不是通过HTTP或HTTPS。

This thread可以让您更好地了解如何继续前进。