354 Stimmen

Jquery - Wie kann ich $.post() dazu bringen, contentType=application/json zu verwenden?

Ich habe bemerkt, dass bei der Verwendung von $.post() in Jquery, dass die Standard-ContentType ist application/x-www-form-urlencoded - wenn meine asp.net mvc-Code muss contentType=application/json haben

(Siehe diese Frage, warum ich application/json verwenden muss: ASPNET MVC - Warum ist ModelState.IsValid falsch "Das Feld x ist erforderlich", wenn das Feld einen Wert hat? )

Wie kann ich $.post() dazu bringen, contentType=application/json zu senden? Ich habe bereits eine große Anzahl von $.post()-Funktionen, daher möchte ich nicht zu $.ajax() wechseln, da dies zu viel Zeit in Anspruch nehmen würde

Wenn ich versuche

$.post(url, data, function(), "json") 

Er hat immer noch contentType=application/x-www-form-urlencoded. Was genau bewirkt der Parameter "json", wenn er den Inhaltstyp nicht in json ändert?

Wenn ich versuche

$.ajaxSetup({
  contentType: "application/json; charset=utf-8"
});

Das funktioniert, wirkt sich aber auf jedes einzelne $.get und $.post aus, das ich habe, und führt dazu, dass einige abbrechen.

Gibt es also eine Möglichkeit, dass ich das Verhalten von $.post() ändern kann, um contentType=application/json zu senden?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X