Что изменилось в jQuery 1.9, чтобы вызвать ошибку $ .ajax с ошибкой синтаксиса

Я делаю вызов REST DELETE, который возвращает 204. В jQuery 1.8.3 это работает и выполняет обратный вызов request.done. Но если я использую 1.9, он переходит к request.fail с parsererror в textStatus и 'SyntaxError: неожиданный конец ввода ' в 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);
            });

        },

Кто-нибудь знает, что изменилось в 1.9, что может привести к сбою, и что нужно изменить, чтобы это исправить?

Итак, отвечая на мой собственный вопрос, похоже, что это на самом деле проблема:

ОтРуководство по обновлению jQuery

jQuery.ajax, возвращающий результат JSON пустой строки

До 1.9 ajax-вызов, который ожидал возвращаемый тип данных JSON или JSONP, рассматривал возвращаемое значение пустой строки как случай успеха, но возвращал нулевое значение обработчику успеха или обещанию. Начиная с версии 1.9, пустая строка, возвращаемая для данных JSON, считается искаженным JSON (потому что это так); это теперь выдаст ошибку. Используйте обработчик ошибок, чтобы поймать такие случаи.

Итак, если удалить dataType

dataType: "json",

Работает в jQuery 1.8.3 и 1.9.

Ответы на вопрос(3)

Ваш ответ на вопрос