У меня есть простой запрос ajax. Проблема заключается в типе contentType. Когда я помещаю этот атрибут, материал отправляется, но я не могу получить доступ к серверу. Когда я удаляю его, он получает отправленный штраф (но, по-видимому, не в JSON), и я могу получить к нему доступ. Мне просто интересно, может ли кто-нибудь помочь мне разобраться с проблемой.
$.ajax({
type: "POST",
url: _common.Ajax.url,
data: {
action: 'faraz'
},
contentType: "application/json"
})
.success(function () {
alert('success');
})
.fail(function () {
alert('failed');
})
.error(function () {
alert('errror');
})
jQuery будет форматировать data
только по умолчанию для application/x-www-form-urlencoded
:
Данные, которые необходимо отправить на сервер. Он преобразуется в строку запроса, если не является уже строкой. [...]
Если требуется другой contentType
, вам также необходимо форматировать data
для соответствия:
// ...
data: JSON.stringify( { action: 'faraz' } ),
contentType: "application/json"
// ...
Примечание. Для поддержки ECMAScript 3, IE8 и т.д. Вы можете включить полифонию, например json2.js.