ajax dönüşü then
kullanarak tamamlandıktan sonra bir işlev çalıştırmaya çalışıyorum, ancak geri dönüşten önce çalışıyor gibi görünüyor. Kodum aşağıdaki gibidir:ajax dönüşünden önce çalışıyor
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))
Ki bu dönüş beklenen mesaj varsa
truth!
true
log beklenir, ama yanlış ne yapıyorum yerine
false
truth!
günlüğü olduğu İşte?
Niçin başarı işleyicisini ajax öğesinden başarı işleyicisine taşıymıyorsunuz, bu durumda ikisi de –
console.log (value) olarak adlandırılıyor. Bunu açıkça bir geri çağırma işlevine koymanız gerekiyordu, ancak bunu yapamadı. –
neden 'o zaman()' ve 'success()'? kafa karıştırıcı görünüyor ve açıkçası, bu .. – dandavis