AJAX thr bir çağrı sıradan zaman akışını takip etmiyor demektir, "asenkron" için kısaltmadır.
Yani, bu kodu var demek
alert(1);
some_function();
alert(2);
Javascript, sonra (some_function çalıştırın) ve bir şey dönmek ve bittiği sonra, size 2 uyarı görmek için bekleyin, sistem uyarı 1. bekliyoruz.
Ama bekleyin alışkanlık, js some_function () ajax ise, 2 uyarı 1, sonra uyarı almak, ve ajax çağrı asynchrously çalışır çünkü, bu iki uyarıları arasında yanı sıra ikinci uyarı sonra () some_function sonucunu alabilirsiniz cevabında için.
Aklınızda ile, sorunun geri dönmesini sağlar.
Diyorsunuz, bir sonuç alamadım Eğer uyarı şey olmadıkça. Kullanıcıya kadar durur javascript size uyarı şey, "ok", ama ajax alışkanlık tıklarsa. Yani bu bir gecikme yaratacaktır, ve bu zaman geciktirme sırasında, ajax muhtemelen çalışan bitirir ve döner sonuçlanabilir.
Senin hatan Yüklü herhangi bir kod sağlamak yoktu çünkü ben sadece iki ajax ardışık çağırır ve ikinci bir öncekine bağlıdır çalıştırmak, tahmin ediyorum, olduğunu.
var x = some_ajax_function();
var y = some_other_function(x);
Bu alışkanlık işi (muhtemelen), x'in değeri atanmadan önce, ikinci fonksiyon denir çünkü. Eğer arasına bir uyarı koyarsanız ajax çağrısı zaman gecikmesinin bir sonucu ve atar x döner çünkü Ama, sen, sonuç almak.
Yani, ne gerek, sizin mantık yeniden yapabilir veya ilk ajax çağrısının başarısı aşamasında ikinci işlevini çağırabilirsiniz.
Gibi bir şey
function some_ajax_function()
{
....
//ajax success state
var x = ajax_result;
some_other_function(x);
}
Bu yardımcı olur umarım