У меня есть следующая функция обратного вызова JQuery, и я немного сомневаюсь в этом (я не очень хорошо знаю JQuery):
$("form.readXmlForm").submit(function() {
// Riferimento all'elemento form che ha scatenato il submit
var form = $(this);
// Variabile che contiene il riferimento al bottone clickato
var button = form.children(":first");
$.ajax({ // Viene eseguita la chiamata AJAX
type: "POST", // Tipo di richiesta: POST
// URL verso quale viene inviata la richiesta
url: form.attr("action"),
// Dati XML inviati:
data: "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><javaBean><foo>bar</foo><fruit>apple</fruit></javaBean>",
// Tipo di media type accettabile dalla response:
contentType: "application/xml",
dataType: "text",
success: function(text) {
MvcUtil.showSuccessResponse(text, button);
},
error: function(xhr) {
MvcUtil.showErrorResponse(xhr.responseText, button);
}
});
Как вы можете видеть, эта функция просто выполняет запрос AJAX к бэкэнду, устанавливая параметр для этого запроса.
Я установил, что я отправляю запрос по URL-адресу, что запрос является запросом POST и что данные, которые я отправляю, представляют собой следующую строку:
"Barapple"
Мне сложно понять, в чем разница между contentType и dataType
Я думаю, что contentType указывает тип данных, которые могут быть получены в HTTP-ответе, верно?
А dataType? Что сказать? Тип данных, которые я отправляю в HTTP-запросе?
В данном случае это «текст», потому что я отправляю текстовую строку, которая представляет собой XML-код?
javascript
ajax
jquery
AndreaNobili
источник
источник
Ответы:
Из документации :
и:
По сути, они противоположны тем, чем вы думали.
источник
contentType
влияет на заголовки,dataType
неПо-английски:
ContentType
: При отправке данных на сервер используйте этот тип содержимого. По умолчанию этоapplication/x-www-form-urlencoded; charset=UTF-8
нормально, что подходит для большинства случаев.Accepts
: Тип содержимого, отправленный в заголовке запроса, который сообщает серверу, какой ответ он примет взамен. Зависит отDataType
.DataType
: Тип данных, которые вы ожидаете от сервера. Если ничего не указано, jQuery попытается сделать вывод на основе MIME-типа ответа. Может бытьtext, xml, html, script, json, jsonp
.источник