スクリプトの読み込みに時間がかかるうちに、Ajaxエラー関数が呼び出されていくつかの問題が発生しています。しかし、私はasync: false
を追加して修正することができました。
例えば:
$.ajax({
type: 'POST',
url: REQUEST_URL,
async: false,
data: {
'id': id
},
dataType: 'json',
success: function(output) {
// success
},
error: function() {
alert('Error, please refresh the page');
}
});
それが言うドキュメント読み:デフォルトでは
は、すべての要求が非同期的に送信されます(すなわち、これはデフォルトでtrueに設定されている を)。同期要求が必要な場合は、このオプションを falseに設定します。クロスドメインリクエストとデータタイプ: "jsonp"リクエストは同期操作をサポートしていません。 同期要求は、ブラウザ を一時的にロックし、要求が の間に動作を無効にすることがあります。 jQuery 1.8以降、jqXHR ($ .Deferred)でasync:falseを使用することは推奨されていません。完全/成功/エラー コールバックを使用する必要があります。
Q)最後の部分はjqXHR($ .Deferred)について何を意味するのでしょうか?これはスクリプトに影響しますか?
ありがとう、ちょうど私のコードが将来のjqueryで壊れないようにしたいと思っていた場合、あなたはそれを修正する必要があります –