0

ページが修正されていますが、ドキュメント対応コードが実行されません。私はIE7で実行しています。アラートは表示されませんが、「ページはここにあります」と表示されます。メソッド「ajax」は私が書いたユーティリティメソッドです。それは私のすべてのajax呼び出しで正常に機能するので、それが問題ではないことを私は知っています。JavaScriptを実行できません。JavaScriptが実行されないのはなぜですか?

AJAXページ

<script src="Utilities/Javascript/jquery-1.7.1.min.js"></script>
<script type="text/javascript">
        alert("RUN PLEASE");
</script>
Page is here

メインページ

<html>
<head>
<script src="Utilities/Javascript/Utilities.js"></script>
<script src="Utilities/Javascript/jquery-1.7.1.min.js"></script>
</head>
<body>
<script type="text/javascript">
    $(document).ready(function () {
        ajax("scrolltest.aspx", "divy2");
    });
</script>
<div id="divy2">

</div>
</body>
</html>

Utilities.jsのajaxメソッド

/*
* Ajax page loads with url and updates element's innerHtml
* @param url : URL to call for ajax page load
* @param element : Element ID to be updated
*/
function ajax(url, element) {
    var ajx;
    if (window.HXMLHttpRequest) {
        ajx = new XMLHttpRequest();
    }
    else {
        ajx = new ActiveXObject("Microsoft.XMLHTTP");
    }
    ajx.open("GET", url, true);
    ajx.setRequestHeader("X-Requested-With", "XMLHttpRequest");
    ajx.onreadystatechange = function () {
        if (ajx.readyState == 4 && ajx.status == 200) {
            document.getElementById(element).innerHTML = ajx.responseText;
        }
        else if (ajx.readyState == 4 && ajx.status == 400) {
            alert("Page Error. Please refresh and try again.");
        }
        else if (ajx.readyState == 4 && ajx.status == 500) {
            alert("Server Error. Please refresh and try again.");
        }
        else if (ajx.readyState == 4) {
            alert(ajx.status + ":" + ajx.statusText);
        }
    }
    ajx.send();
}
4

2 に答える 2

1

「AJAX」リクエストからのJavascriptは、evalを呼び出さない限り処理されません。これは、実際には最善のアイデアではありません。

この回答の編集は少し短すぎます-ネイティブの強制実行にはいくつかの方法があります-このより詳細で類似した質問/回答を参照してください

AjaxリクエストへのHTMLレスポンス内でJavascriptを強制的に実行する方法

于 2012-06-15T14:16:29.363 に答える
0

属性を持たないスクリプトは、deferinnerHTML(MSDN)を介して挿入された場合は実行されません。

于 2012-06-15T14:22:25.640 に答える