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;
しかし、両方のファイルを取り出すと、両方とも機能します。ここで何が起こっているのですか?