$.ajaxの終了後にalert()を呼び出さないとデータの登録がされない
jQueryを利用してAjaxでデータ登録をしたいときに、alert()を呼び出す場合は、問題なくデータを登録することができますが、alert()を呼び出さない場合はデータの登録に失敗します。
$.ajax({
url: 'https://xxx',
type: 'POST',
dataType: 'json',
data: JSON.stringify(form_data),
})
.done(function(data){
console.log("登録完了")
}).fail(function(jqXHR, textStatus){
console.log("登録失敗")
});
alert("END") // ここをコメントアウトするとデータは登録できない
このalert()の部分がconsole.log()でもsetTimeout()でもだめで、alert()でなければ動きません。なぜalert()のみがうまく動くのかわかりません。
ちなみに、.done()と.fail()はデータが登録できたorできなかったにかかわらず、呼び出されません。ここも不思議でなりません。
$.ajax()の中に以下のようにしてもログは出ませんでした。
$.ajax()({
success: function(result){
console.log('my message' + result);
}
})
話が脱線しましたが、なぜalert()を呼び出す場合は登録が成功するかがわかりません。
回答をお待ちしております。