dtpteam
13.01.2010, 20:36:14
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
13.01.2010, 22:09:38
A nie możesz po prostu tego preloadera pokazać przed wywołaniem $.ajax?
dtpteam
14.01.2010, 10:18:11
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
14.01.2010, 11:24:19
Nie chce mi się sprawdzać, ale beforeSend powinno zwracać chyba TRUE jeżeli chcesz by całe żądanie zostało wykonane.
dtpteam
14.01.2010, 12:20:49
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.