jspページを返すリクエストがあります。しかし、実際には、jspにはjsp:includeが含まれており(別のjspファイルを呼び出します)、つまりエラー80020101が発生します。
何か案は?
ありがとう
jspページを返すリクエストがあります。しかし、実際には、jspにはjsp:includeが含まれており(別のjspファイルを呼び出します)、つまりエラー80020101が発生します。
何か案は?
ありがとう
jQueryからAJAX呼び出しを行っていて、次のように配列の最後に余分なコンマを渡した場合にも、このエラーが発生する可能性があります。
$.post('http://example.com/example1/',{
field1:sField1,
field2:sField2,
field3:sField3,
field4:sField4,
field5:sField5,
},function(sData){
if (console) { console.log(sData); }
});
sField5の後にそのコンマが表示されますか?これが構文エラーです。IE以外のブラウザは気にしません。IEはあいまいな80020101エラー(「Javascriptを評価できません-構文エラーがあります」を意味します)をスローし、デバッガーが評価行を指すだけなので、jQueryを使用している場合はそれを追いかけるのは事実上困惑しますjQueryで。Microsoftのおかげで、IEデバッガーはこれを追跡するのに役に立ちません。次回80020101エラーが発生したときの私の提案は、次のとおりです。
<!--
確認//-->
し、Javascriptをマークしてください。これは1.7.2までのjQueryの既知の問題であり、jQueryチームに提出されたバグです。src-attributeを使用してスクリプトをインポートするjavascript宣言を削除します。本当に必要な場合は、javascript-fileをinline-javascriptに変更してください。
ソース: http: //bytes.com/topic/javascript/answers/750333-ie-syntax-error-80020101-undefined-array
最も簡単な方法は、 ajax = 1などのパラメーターをAJAXリクエストに追加し、ajaxパラメーターが存在する場合はjavascript宣言を非表示にすることです。
ブラウザは、スローするHTML以外の情報を認識しないため、これはjsp:includeにファイルを含めることとは何の関係もないと思います。
私は今、jQuery(最新バージョンでも)でこの問題に2回遭遇しました。唯一の解決策は、すべてのJavaScriptをコピーして1つの大きなファイルに貼り付け、JSLint(jsfiddle.net、推奨)を介して実行することです。いくつかの小さなエラー(データコールバック構造の1つに余分なコンマが含まれているなど)を指摘し、修正してから再コピーして元の場所に貼り付け、問題を解消することができました。
同じエラーが発生しましたが、私の場合は予約語がありました'class'
。これを明確にするためのコードスニペットを次に示します。
function foo(ajaxResponse){
$(elem).attr('class', ajaxResponse.class);
}
私はこれを次のように書き直しました:
$(elem).attr('class', ajaxResponse['class']);
これがお役に立てば幸いです。
私の場合、JSコードに次のようなHTMLコメントがあることがわかりました。
<script type="text/javascript">
<!-- Unexpected Comment -->
//code...
</script>
交換<!-- -->
し/* */
て動作しました。それが誰かを助けることを願っています。
私はこの問題に遭遇しましたが、IEのエラーメッセージはあまり役に立ちませんでした。そこで、Mozilla Firefoxで自分のサイトにアクセスしたところ、Firefoxは問題のあるコードの正確な行を特定することができました。ハイテク修正ではありませんが、この問題のデバッグにIEのみを使用している場合は、サイトをFFにロードして(Firebug拡張機能がインストールされている)、コンソール出力を確認してみてください。
私もこの問題に遭遇しましたが、スクリプトファイルを詳しく調べた後、他のブラウザでスムーズに実行される小さな間違いを犯したことがわかりましたが、IEはそれを選択してエラーを表示します:
私の以前のコードは次のとおりです。
var autocomplete = new google.maps.places.Autocomplete(searchTextField ,options);
分析した後、私はそれsearchTextField
がidであり、それを使用する前にその値を取得する必要があります
だから私はそれを次のように変更します:
var input = document.getElementById('searchTextField');
var autocomplete = new google.maps.places.Autocomplete(input,options);
そしてそれはうまくいきます。
IEがそれを検出するのは本当に素晴らしいことですが、同じコードが他のブラウザーで機能する場合は非常にイライラするため、Microsoftは特定の原因に対して特定のエラーを表示するようにブラウザーを拡張する可能性があります
私の場合、問題はエラー関数の最後にあるAjaxPOSTの追加の役に立たないコマでした。
$.ajax({
type: 'POST',
dataType: 'text',
url: '../Client/GetName',
data: { ClientId: id},
success: function (respone) {
alert(respone);
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.statusText);
}, //<- look here, this guy complicated my simple programmer life
});
それを削除した後、すべてが正常に動作します。
万が一、jsファイルを含めていますか?
なぜなら
エラー80020101は、IEがスクリプトをコンパイルできないことを意味します。
jqueryの使用中に、別の問題でこのエラーが発生しました。
$(document).ready(function(){})を変更 します; TO $(window).load(function(){});
私の経験を共有したかった。私の場合、それはjavascriptとは何の関係もありませんでした。これは、Angularを使用する同僚のHTMLのこの行が原因でした。
<img data-ng-model="previewImage" src="" data-ng-src="{{imageURL}}" alt="" ></img>
空のsrcを持つことは通常悪いことであることを思い出しました。srcフィールドにデータを入力すると、エラーはなくなりました。
jQuery 1.10.2を使用していて、存在しないファイルをロードしているときにこのエラーが発生しました。
したがって、ロードしようとしているファイルが正しいことを確認してください。そうでない場合、IE8は80020101エラーをスローする可能性があります。
私の問題の原因は次のとおりです。
var a = b = c = true;
になった
var a = true;
var b = true;
var c = true;
今では正常に動作します!
さようならMA
変数宣言の前に「var」を付けるのを忘れていたので、問題は解決しました。
<script>
uploadDocument = "Some message";
</script>
私はそれを修正しました:
var uploadDocument = "Some message";
根本的な原因は、同じID「uploadDocument」の要素がフォームにあるため、上記の宣言によりhtmlの形式が正しくないことでした。