Webアプリにデータを「保存」してからページをリロードするために、複数のajaxリクエストを作成しています。(リクエストが非同期で行われるため) ajax 呼び出しが完了する間または完了する前に、ページがリロードされる状況に遭遇しました。これに対する簡単な解決策は、"async": false オプションをオンにして ajax 呼び出しを行い、同期呼び出しを強制することでした。これは機能しているように見えますが、呼び出しが実行される前に実行されるダイアログ ボックス コードは、実行中に遅延が発生します。
どんなアドバイスでも大歓迎です!
また、リロードの前に alert() を配置すると、ajax リクエストの実行が許可されることに注意してください。(アラートは明らかに、リクエストが正常に処理されるのに十分な時間、リロードを遅らせています)
コードサンプルで更新:
$(".submit_button").click(function(){
popupMessage();
sendData(); //the ajax calls are all in here
location.reload();
});
function sendData() {
//a bunch of these:
$.ajax({
"dataType": "text",
"type": "POST",
"data": data,
"url": url,
"success": function (msg) {}
}).done(function( msg ) {
});
}