私は、Ajaxの戻りがthen
を使って完了した後に関数を実行しようとしていますが、返される前に実行されているようです。次のように私のコードは次のとおりです。その後、Ajaxの返り前に実行する
false
truth!
をログに記録されている場合、私は
truth!
true
をログに記録するように期待
var existingUser = false;
$.ajax(
{
url: '/ajax/signup',
data: { signup_email: signupEmail },
type: 'post',
dataType: 'json',
success: function(data) {
if (data.message == 'The email address '+signupEmail+' has already been registered.') {
existingUser = true;
console.log('truth!')
}
}
}
)
.then(console.log(existingUser))
ここに?
なぜ、成功ハンドラをajaxから成功ハンドラに移動して、2つが呼び出されている順番に問題が発生しないようにしますか。 –
console.log(値)はすぐに実行されます。明らかにコールバック関数に入れることを意図していましたが、そうすることはできませんでした。 –
なぜ 'then()'と 'success()'を使うのですか?混乱しているようですが、それは明らかです。 – dandavis