Документация об атрибуте .ajax()
type
гласит:
Тип запроса («POST» или «GET»), по умолчанию «GET». Примечание. Другие методы HTTP-запроса, такие как PUT
и DELETE
, также могут использоваться здесь, но они поддерживаются не всеми браузерами .
Так что, вероятно, ваш браузер не поддерживает PUT
, а данные отправляются через POST
(и поэтому не распознаются вашей службой).
Используйте Firebug или аналогичный, чтобы узнать, какой метод используется.
Одна идея, чтобы заставить его работать:
Отправьте данные, используя POST
, но добавьте дополнительное поле, например. __http_method=PUT
. На стороне сервера ваша служба должна распознать это и выполнить функцию PUT
.
Возможно, это не самое удачное решение, но оно также используется другими фреймворками, с которыми я сталкивался (например, symfony для PHP).