Co zmieniło się w jQuery 1.9, aby wywołać błąd $ .ajax z błędem składniowym

Wykonuję wywołanie REST DELETE, które zwraca 204. W jQuery 1.8.3 to działa i trafia do wywołania zwrotnego request.done. Ale jeśli użyję 1.9, trafi on do request.fail z parsererror w textStatus i 'SyntaxError: Unexpected end of input' w errorThrown.

remove = function (complete) {
            var self = this;
            var request = $.ajax({
              context: self,
              url: "/v1/item/" + itemId,
              dataType: "json",
              type: "DELETE"
            });
            request.done(removeCallback);
            request.fail(function (xhr, textStatus, errorThrown) {
                alert(errorThrown);
            });

        },

Ktoś wie, co się zmieniło w wersji 1.9, co spowodowałoby awarię i co należy zmienić, aby to naprawić?

Tak więc, odpowiadając na moje własne pytanie, wygląda na to, że tak naprawdę jest to problem:

OdPrzewodnik aktualizacji jQuery

jQuery.ajax zwracający wynik JSON pustego łańcucha

Przed 1.9, wywołanie ajax, które oczekiwało typu danych zwrotnych JSON lub JSONP, uznałoby wartość zwracaną pustego łańcucha za przypadek sukcesu, ale zwróci wartość null procedurze obsługi lub obietnicy sukcesu. Od wersji 1.9 pusty ciąg zwracany dla danych JSON jest uważany za zniekształcony JSON (ponieważ jest); spowoduje to teraz błąd. Użyj uchwytu błędu, aby przechwycić takie przypadki.

Więc jeśli usuniesz typ danych

dataType: "json",

Działa w jQuery 1.8.3 i 1.9.

questionAnswers(3)

yourAnswerToTheQuestion