Это оно.

я есть запрос $ .ajax () с dataType, установленным в «json». Сервер возвращает JSON с правильным MIME-типом «application / json». И все же responseText в моем объекте jqXHR всегда является строкой. Что я делаю неправильно? Это как это должно работать?

Вот как я звоню:

var options = { 
    dataType:'json',
    type: 'GET',
    url: "http://example.com/api/"
};

var key = "PassToCallback";

var jqXHRObject =  $.ajax(options).then(
    function(data, textStatus, jqXHR, key) {
        this.success(data, textStatus, jqXHR, key);
    },
    function(jqXHR, textStatus, errorThrown) { 
        this.error(jqXHR, textStatus, errorThrown);
    }
);

console.log(jqXHRObject.getResponseHeader("content-type")); // application/json
console.log(typeof jqXHRObject.responseText); // string

Так что я должен сделать$.parseJSON(jqXHRObject.responseText) чтобы получить реальный объект. Это кажется ненужным, так как $ .ajax () должен автоматически преобразовывать responseText в соответствии с документацией. Спасибо!

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

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