/ / prosty preloader dla funkcji ładowania jquery - jquery, html

prosty preloader dla funkcji ładowania jquery - jquery, html

wiem, jak załadować stronę w jquery i jakoś wiem, jak korzystać z sukcesu, ale co, jeśli ta strona nie powiodła się

Zamierzamwdrożyć sposób na pokazanie obrazu programu ładującego przed załadowaniem strony i jeśli strona nie wyświetliła komunikatu

to jest funkcja, którą napisałem:

$(document).ready(function(){

$("#loading").html("<img src="/images/images/preload.gif" />");
$(".thumb").load("stat.html");

});

teraz chcę go zmienić w sposób pokazujący preloader i komunikat, jeśli się nie powiedzie

Odpowiedzi:

2 dla odpowiedzi № 1

Funkcja obciążenia ma wywołanie zwrotne, które zapewnia status żądania. Wygląda to mniej więcej tak ...

$(selector).load(url,[],[callbackFn(response,success,xhr)]);

Możesz zrobić coś takiego:

$(".thumb").load("stat.html",function(response,status,xhr){
if(status == "error") {
//Something went wrong, have your error fallback code here
}
});

Możesz znaleźć przykład tutaj: http://jsbin.com/uxisa3/2/edit


0 dla odpowiedzi nr 2

Spróbuj użyć $.ajax zamiast post aby mieć większą kontrolę nad cyklem życia za pomocą metod wywołania zwrotnego. W twoim przypadku możesz użyć beforeSend, error, complete callbacks (które są oczywiste)

$.ajax({
type: "POST",
url: "stat.html",
data: "name=John&location=Boston",
beforeSend: function(){
$("#loading").html("<img src="/images/images/preload.gif" />");
},
success: function(msg){
alert( "Data Saved: " + msg );
},
error: function(e){alert(e);}
});