Die Fragen :
- Sollten wir unsere Codierung wie unten vorgeschlagen ändern?
- Gibt es einen Unterschied zwischen
.done()&success:,.fail()&error:und.always()&complete:?
Die Präambel :
Ich habe einen jQuery.ajax-Aufruf zusammengestellt, den ich auch in der Vergangenheit erfolgreich durchgeführt habe. Etwas wie das:
$.ajax(
{
url: someUrl,
type: 'POST',
data: someData,
datatype: 'json',
success: function (data) { someSuccessFunction(data); },
error: function (jqXHR, textStatus, errorThrown) { someErrorFunction(); }
});
Bei einem kurzen Blick auf einige Dokumentationen stieß ich auf eine Referenz, die besagte, dass Erfolg, Fehler und vollständige Rückrufe ab jQuery 1.8 veraltet sind. Verwenden Sie stattdessen jqXHR.done (), jqXHR.fail () und jqXHR.always (), um Ihren Code für das eventuelle Entfernen vorzubereiten.
Wir sollten daher stattdessen so etwas programmieren:
$.ajax( "example.php" )
.done(function (data) { someSuccessFunction(data); })
.fail(function (jqXHR, textStatus, errorThrown) { someErrorFunction(); })
.always(function() { alert("complete"); });