$.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()
を呼び出す場合は登録が成功するかがわかりません。
回答をお待ちしております。