/ / simple preloader за функцията за зареждане на jquery - jquery, html

прост предварително зареждане за jquery load function - jquery, html

Знам как да заредите страница в jquery и по някакъв начин знам как да използвам успеха, но какво ще стане, ако тази страница се провали

Им търси начин да покаже изображение на товарача преди заредената страница и ако страницата не успя да покаже съобщение

това е функцията, написах:

$(document).ready(function(){

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

});

сега аз искам да го променя по начин, показващ preloader и съобщението, ако не е успял

Отговори:

2 за отговор № 1

Функцията за зареждане има обратна връзка, която осигурява състоянието на заявката. Изглежда нещо подобно ...

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

Така че можете да направите нещо подобно:

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

Можете да намерите пример тук: http://jsbin.com/uxisa3/2/edit


0 за отговор № 2

Опитайте да използвате $.ajax вместо post така че да имате повече контрол върху жизнения цикъл, като използвате методи за обратно извикване. Във вашия случай, можете да използвате beforeSend, error, complete извиквания (които са самообясними)

$.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);}
});