Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [jquery] zatrzymuje sie na beforeSend
Forum PHP.pl > Forum > XML, AJAX
dtpteam
Witam, mam funkcje napisana w jquery.


function GetMiniProd(id_prod){
var lis_marca = $('#lis_marca').attr("value");
var lis_modelo = $('#lis_modelo').attr("value");
var page = $.ajax({url: "productos.php",
type: "GET",
async:true,
data: "ajax=true&orden=page_nav4&full_prod="+id_prod+"",
beforeSend: function(html){
$("#"+id_prod).html("<img src='preloader.gif' alt='preloader' /><br />Ladowanie danych, prosze czekac...")
},
success: function(html){
$("#"+id_prod).html(html);

}

});
}

wszystko dziala super jezeli mam dobre polaczenie ze strona, w sytuacji kiedy strona laduje sie wolno bardzo czesto funkcja wykonuje sie az do momentu pokazania sie "Ladowanie danych, prosze czekac..." i tutaj sie zatrzymuje.
erix
A nie możesz po prostu tego preloadera pokazać przed wywołaniem $.ajax?
dtpteam
Cytat(erix @ 13.01.2010, 22:09:38 ) *
A nie możesz po prostu tego preloadera pokazać przed wywołaniem $.ajax?


Dziekuje za odpowiedz ale problemem nie jest preloader, funkcja staje w tym miejscu poniewaz nie wykonuje sie success: . Normalne przegladarka jezeli klikniemy np. link a server laduje wolno bedzie czekac az otrzyma odpowiedz i zaladuje strone. W przypadku mojej funkcji jezeli nie otrzyma odpowiedzi od razu to przestaje dzialac, nie czeka.
Crozin
Nie chce mi się sprawdzać, ale beforeSend powinno zwracać chyba TRUE jeżeli chcesz by całe żądanie zostało wykonane.
dtpteam
Dziekuje wszystkim za pomoc. Udalo mi sie w koncu rozwiacac problem i teraz dziala wszystko na 100%, wystarczylo dolaczyc do funkcji ten kod:

timeout: 5000,
error: function(request,error) {
if (error == "timeout") {
GetMiniProd(id_prod);
} else {
$("#response1").append("ERROR: " + error);
}
},
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.