1

2 つのスクリプトをロードしているパーシャルがあります。2 番目のスクリプトは最初のスクリプトの関数を呼び出します...どちらのスクリプトも「use strict;」を使用します。頂点で。2 番目のスクリプトが最初のスクリプトの関数を呼び出すと、「Uncaught ReferenceError the function name is not defined」というメッセージが表示されます。

最初はスクリプトの順序に関係していると思っていましたが、デバッグを行った後、スクリプトが正しい順序で実行されていることがわかりました。部分は jquery 非同期呼び出しを介して読み込まれ、現在のビューに追加されます。また、2 番目のファイルが読み込まれるまで、クロムのデバッガーで最初のスクリプトの関数を問題なく呼び出すことができます。

私はちょっと頭がおかしくなり、すべてを切り取っただけで、それはまだ起こっています. これが私が取り組んでいるものです...

スクリプト 1

"use strict";

var firstScript = function () {
    alert("first");
};

スクリプト 2

"use strict";

var secondScript = function () {
    alert("second");
};

Ajax 呼び出し

$.ajax({
    type: "post",
    url: "/../SomeController/SomeAction",
    success: function (content) {
        $("#someDiv").html(content);
    }
});

部分的

<script src="~/Some/Folder/Js/Script1.js"></script>
<script src="~/Some/Folder/Js/Script2.js"></script>

ページが読み込まれたら、Chrome デバッガーを開き、「firstScript()」または「secondScript()」を実行すると同じエラーがスローされます。

use strict;しかし、両方のファイルを取り出すと、両方とも機能します。ここで何が起こっているのですか?

4

1 に答える 1