I "ALERT" eğer ben çıktıyı alıyorum

1 Cevap php

Benim uygulamada hata farklı bir tür alıyorum.

Projemde işlevlerinin çoğu ajax vardır. I çıktıyı alıyorum i "UYARISI" bir şey varsa şimdi benim prob. Else i değilim. Ben bu konu ile tamamen karıştı ve bunu çözmek için herhangi bir fikrim yok.

Ne çözüm olacak?

Herhangi bir cevap yararlı ve minnettar olacaktır ..

şimdiden teşekkürler

1 Cevap

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