2012-03-23 13 views
83

Ben $.ajax başarısız olduğunda üç parametre adları ne belgelerine bulamıyor. error olarakjQuery'de .fail'e gönderilen parametreler nelerdir?

jqXHR, textStatus, errorThrown

aynı fakat error kullanımdan kaldırıldı:

.fail(function(A, B, C) { 
+2

Benzer şekilde, "error" geri çağrısına iletilenle aynı: 'jqXHR, textStatus, errorThrown'. –

cevap

70

göre http://api.jquery.com/jQuery.ajax/ için fail geri arama almak edilmelidir: Şu anda

, sadece kullanıyorum

Depreca siyon Uyarı: jqXHR.success(), jqXHR.error() ve jqXHR.complete() geri aramaları jQuery 1.8'de kaldırılacaktır. Kodunuzu nihai kaldırmaları için hazırlamak için jqXHR.done(), jqXHR.fail() ve jqXHR.always() kullanın.

this.GetOrderList = function (customerId) { 
    var self = this; 
    $.post('MySuperServer.aspx', { customerId: customerId }) 
    .done(function (dataStr) { 
     var orderList = jQuery.parseJSON(dataStr); 
     self.process(orderList); 
    }) 
    .fail(function (jqXHR, textStatus, error) { 
     console.log("Post error: " + error); 
    }); 
} 

ayıklarken, bende: bir örnek aynı sorun için baktıktan sonra Burada

+0

Ooh, farketmedim. Bu belgeleri paylaştığınız için teşekkürler. JQuery XHR geri aramalarının sonunda Deferreds ile eşleştiğine sevindim. –

+1

Oh, ancak ajaxError yönteminin olayı vardır, jqXHR, ajaxSettings, thrownError. –

+0

Aynı argümanları, sadece farklı kullanımları ve bağlamları aşan aynı geri çağrılardır. – nathanjosiah

21

  • jqXHR bir JS nesne olduğunu
  • textStatus "hata"
  • hata "Dahili Sunucu Hatası", sunucu tarafından gönderilen hata iletisidir.
+1

Evet, textStatus sözcüğünü kullanarak bağlanmaya çalıştıkları şey, bunun durum değişkeni ve metin biçiminde olması gerektiğidir. JQuery nesnesi olan jqXHR ile karşılaştırıldığında. –