contentType
ist die Art der Daten, die Sie senden. Dies application/json; charset=utf-8
ist eine übliche Art, wie sie ist application/x-www-form-urlencoded; charset=UTF-8
. Dies ist die Standardeinstellung.
dataType
ist das, was von dem Server Sie erwarten zurück: json
, html
, text
wird etc. jQuery diese verwenden , um herauszufinden , wie sich die Erfolgsfunktion des Parameters zu füllen.
Wenn Sie etwas veröffentlichen wie:
{"name":"John Doe"}
und zurück erwarten:
{"success":true}
Dann sollten Sie haben:
var data = {"name":"John Doe"}
$.ajax({
dataType : "json",
contentType: "application/json; charset=utf-8",
data : JSON.stringify(data),
success : function(result) {
alert(result.success); // result is an object which is created from the returned JSON
},
});
Wenn Sie Folgendes erwarten:
<div>SUCCESS!!!</div>
Dann sollten Sie tun:
var data = {"name":"John Doe"}
$.ajax({
dataType : "html",
contentType: "application/json; charset=utf-8",
data : JSON.stringify(data),
success : function(result) {
jQuery("#someContainer").html(result); // result is the HTML text
},
});
Noch eine - wenn du posten willst:
name=John&age=34
Dann nicht stringify
die Daten und tun:
var data = {"name":"John", "age": 34}
$.ajax({
dataType : "html",
contentType: "application/x-www-form-urlencoded; charset=UTF-8", // this is the default value, so it's optional
data : data,
success : function(result) {
jQuery("#someContainer").html(result); // result is the HTML text
},
});
[HttpPost]public JsonResult user(Person postedPerson) { /* Save postedPerson to DB */ return Json(new { success = true }); }
$.ajax({ dataType : "html", ...
anstelle von verwenden sollten.$.ajax({ datatype : "html",...
Das Großbuchstaben T im Worttyp ist wichtig. Überprüfen Sie jQuery APIrequestContentType
undresponseDataType
in Wirklichkeit werden Sie, wenn Sie es ein paar Mal getan haben und die API verstehen, nicht verwirrt genug sein, um die zusätzliche Eingabe lohnenswert zu machen.Aus der jQuery-Dokumentation - http://api.jquery.com/jQuery.ajax/
Sie möchten also, dass contentType
application/json
und dataType Folgendes sindtext
:quelle
Unter http://api.jquery.com/jQuery.ajax/ werden dort Datentyp und Inhaltstyp erwähnt.
Sie werden beide in der Anforderung an den Server verwendet, damit der Server weiß, welche Art von Daten empfangen / gesendet werden sollen.
quelle