2009-04-15 19 views
40

Bir kullanıcı bir düğmeye tıkladığında bazı verileri almak için jQuery'nin .load() yöntemini kullanıyorum. Yük başarıyla tamamlandıktan sonrajQuery'nin yükte hatayı yakalamak Nasıl() metodu

, ben <div> sonuç vermektedir.

sorun veriler alınırken, bazen, bir hata load() oluşur vardır.

nasıl load() bir hata yakalayabilir?

cevap

5

load() bir geri arama sunmaktadır.

Geri arama.
ajax isteği tamamlandığında çağrılan işlev (mutlaka başarı değil). onun IIRC yapılır nasıl

budur. Ólafur Waage anlaşılacağı gibi, ayrıca sayfadaki tüm ajax aramalar için küresel olarak küresel ("küresel" hata işleyicileri kayıt olabilirsiniz load() işlevine bir geri arama geçirerek yanında

$("#feeds").load("feeds.php", {limit: 25}, 
    function (responseText, textStatus, XMLHttpRequest) { 
     // XMLHttpRequest.responseText has the error info you want. 
     alert(XMLHttpRequest.responseText); 
}); 
+7

işlevinin ilk argümanı responseText IS. XMLHttpRequest.responseText ... –

10

(aCoolFunction)).

küresel Ajax hata işleyicileri kaydetmek için en az iki yolu vardır:

Kayıt sadece hata işleyicisi ajaxError() ile:

$.ajaxError(function(event, request, settings) { 
     alert("Oops!!"); 
}); 

Veya, bir hata işleyicisi ve diğer özellikleri de kurmak ajaxSetup() kullanmak aynı zamanda:

$.ajaxSetup({ 
    timeout: 5000, 
    error: function(event, request, settings){ 
     alert("Oops!"); 
    } 
}); 
66

load() documentation.

Bir yükleme hatası olur nasıl Sadece küçük bir arka plan 0

...

$("body").load("/someotherpath/feedsx.pxhp", {limit: 25}, 
    function (responseText, textStatus, req) { 
     if (textStatus == "error") { 
      return "oh noes!!!!"; 
     } 
}); 

Düzenleme: yorumlarla tarafından talep edildiği gibi kök yoluna başka bir yola eklendi.

+0

kullanımı için gerek yok teşekkürler altCongnito.it iş! btw, başka bir soru sorabilir miyim? başka bir sorun dosya yoludur! Asp.net kullanıyorum. Master sayfasında load() kodunu yazarım. Url parametresi feedsx.aspx gibidir. , içerik sayfalarının kök klasöründeyken çalışmasıdır. Ancak içerik sayfaları diğer alt klasörün altında çalışmıyorsa. jquery docs bağlantısı için teşekkürler –

+0

. Var olduklarını bile bilmiyordum! –

+0

Teşekkürler - yükleme hataları çoğunlukla hedef sayfa yüklenirken bir sorundan kaynaklanır. – Resh32

0

Elektrikli araç kutusu sorunuza cevap görünmektedir "Loading content with jQuery AJAX and dealing with failures" denilen bir makale vardır.

Belirttiğiniz geri arama işlevi, ajax isteğinizin durumunu belirlemenizi ve duruma göre işleme almanızı sağlayan yanıtı, durumu ve XmlHttpRequest nesnesini geçmiştir.