Может кто-нибудь объяснить простым способом, как заставить jQuery отправлять фактический JSON вместо строки запроса?
$.ajax({
url : url,
dataType : 'json', // I was pretty sure this would do the trick
data : data,
type : 'POST',
complete : callback // etc
});
Это фактически преобразует ваш тщательно подготовленный JSON в строку запроса. Одна из неприятных вещей заключается в том, что любой array: []объект в вашем объекте будет преобразован array[]: [], вероятно, из-за ограничений строки запроса.
dataTypeимеет никакого отношения к тому, как данные отправляются. Он просто указывает , что тип данных вы ожидаете, что возвращается при вызове. Если вы хотите указать серверу, какой тип данных вы указываете вdataсвойстве, вам нужно установитьcontentTypeсвойство, аналогичноеcontentType: "application/json"