Как заставить $ .post () использовать contentType = application / json?

Я заметил, что при использовании $ .post () в jquery, по умолчанию contentType является application / x-www-form-urlencoded - когда мой код mvc asp.net должен иметь contentType = application / json

(Смотрите этот вопрос, почему я должен использовать application / json:ASPNET MVC - Почему ModelState.IsValid имеет значение «Поле x обязательно», если это поле имеет значение?)

Как я могу заставить $ .post () отправлять contentType = application / json? У меня уже есть большое количество функций $ .post (), поэтому я не хочу переходить на $ .ajax (), потому что это займет слишком много времени

Если я попробую

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

У него все еще есть contentType = application / x-www-form-urlencoded. Так что именно делает параметр "json", если он не меняет тип содержимого на json?

Если я попробую

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

Это работает, но влияет на все мои $ .get и $ .post, которые у меня есть, и заставляет некоторые ломаться.

Так есть ли способ, которым я могу изменить поведение $ .post () для отправки contentType = application / json?

Ответы на вопрос(16)

Ваш ответ на вопрос