Ich habe die folgende Jquery-Rückruffunktion und ich habe einen kleinen Zweifel daran (ich kenne Jquery nicht sehr gut):
$("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);
}
});
Wie Sie sehen können, führen Sie diese Funktion einfach eine AJAX-Anforderung an das Backend aus, indem Sie den Parameter für diese Anforderung festlegen.
Ich habe festgelegt, dass ich die Anfrage an eine URL sende, dass es sich bei der Anfrage um eine POST-Anfrage handelt und dass die von mir gesendeten Daten die folgende Zeichenfolge sind:
"barapple"
Ich habe einige Schwierigkeiten zu verstehen, was die Unterschiede zwischen contentType und dataType sind
Ich denke, dass contentType den Datentyp angibt, der in der HTTP-Antwort akzeptiert wird. Ist das richtig?
Und Datentyp? Was sagen? Welche Art von Daten sende ich in der HTTP-Anfrage?
In diesem Fall ist "Text", weil ich eine Textzeichenfolge sende, die XML-Code darstellt?
quelle
Antworten:
Aus der Dokumentation :
und:
Sie sind im Wesentlichen das Gegenteil von dem, was Sie dachten.
quelle
contentType
wirkt sich auf die Überschriften,dataType
nichtAuf Englisch:
ContentType
: Verwenden Sie diesen Inhaltstyp, wenn Sie Daten an den Server senden. Die Standardeinstellung istapplication/x-www-form-urlencoded; charset=UTF-8
, was in den meisten Fällen in Ordnung ist.Accepts
: Der im Anforderungsheader gesendete Inhaltstyp, der dem Server mitteilt, welche Art von Antwort er als Gegenleistung akzeptiert. Kommt drauf anDataType
.DataType
: Der Datentyp, den Sie vom Server erwarten. Wenn keine angegeben ist, versucht jQuery, sie basierend auf dem MIME-Typ der Antwort abzuleiten. Kann seintext, xml, html, script, json, jsonp
.quelle