最近、プロジェクトに取り組んでいたときに、サブページに JavaScript コードを送信するときに、そのコードをデバッグできないという状況に遭遇しました。この問題により、ブラウザーでサブページの JavaScript コードが表示されないことがあります。もちろん、これも解決策ですが、プログラムがどのように実行されるかを確認したいだけであり、同時にそれを確認することもできます。各パラメータの値はどのようなものであるので、その重要性は非常に大きいです。
この問題がいつ発生するかを皆さんに大まかに理解していただくために写真を掲載します。
function stopWatchDog (watchDogId) {
alert("aa");
var url = '';
var params = {
watchDogId : watchDogId,
};
$.post(url, params, function(data) {
if (data.success) {
closeDialog();
tbGrid.send();
} else {
if (data.errorMsg != null && data.errorMsg != "") {
jAlert(data.errorMsg, "システムメッセージ"); else {
jAlert( "例外を停止", "システム メッセージ");
}
$("#saveBtn").removeAttr("無効");
$("#saveBtn"); color", "white");
}
}, "json");
}
これは実際には関数宣言です。 JavaScriptを知っている人はコンテキストを見てみると、関数宣言は実際にはページコンテキストをロードするときにロードされる関数名だけであり、その関数の内容は正常にロードできないことがわかります。
関数の自己実行に切り替えるか、この関数宣言を関数の自律性で定義すると、この問題は解決できます。
(function(){
function stopWatchDog(watchDogId ) {
alert("aa");
var url = '';
var params = {
watchDogId : watchDogId ,
};
$.post(url, params, function(data) {
if (data.success) {
closeDialog();
tbGrid.send() ;
} else {
if (data.errorMsg != null && data.errorMsg != "") {
jAlert(data.errorMsg, "システム メッセージ"); else {
jAlert ("例外を停止", "システム メッセージ");
}
$("#saveBtn").removeAttr("無効");
$("#saveBtn").css( "色" , "白");
}
}, "json");
}