В чем разница между
contentType: "application/json; charset=utf-8",
dataType: "json",
и
contentType: "application/json",
dataType: "text",
contentType
- это заголовок HTTP , отправленный на сервер и указывающий конкретный формат. dataType
, вы сообщаете jQuery, какой ответ ожидать. В документации $. Ajax ()
также есть их полные описания.
В вашем конкретном случае первый запрашивает, чтобы ответ находился в UTF-8
, второму все равно. Также первый обрабатывает ответ как объект JavaScript, второй - как строку.
Итак, первый будет:
success: function(data) {
// get data, e.g. data.title;
}
Второй:
success: function(data) {
alert("Here's lots of data, just a string: " + data);
}
согласно docs :
"json"
: оценивает ответ как JSON и возвращает объект JavaScript. В jQuery 1.4 данные JSON анализируются строго; любой искаженный JSON отклоняется, и возникает ошибка синтаксического анализа. (См. Json.org для получения дополнительной информации о правильном форматировании JSON.) «текст»
: простая текстовая строка.