Должен ли я использовать глагол POST или DELETE в функции jQuery.ajax () - PullRequest
5 голосов
/ 18 февраля 2010

Это из документации по jQuery API:

TypeString По умолчанию: «GET» Тип запроса («POST» или «GET»), по умолчанию «GET». Примечание. Здесь также можно использовать другие методы HTTP-запроса, такие как PUT и DELETE, но они поддерживаются не всеми браузерами.

Я собираюсь заставить AJAX удалять ссылки с помощью jQuery. То, что я хотел бы знать, это особенности поддержки браузером для DELETE и PUT. Какие браузеры поддерживают это? Безопаснее ли мне просто использовать POST?

Учитывая то, что я работаю в ASP.NET MVC, я могу украсить свои действия контроллера как DELETE, так и POST, так что оба могут быть приняты.

Ответы [ 4 ]

5 голосов
/ 18 февраля 2010

Перейти с POST. Вам не нужно беспокоиться о поддержке браузера, и будущие разработчики кода поймут, что происходит, просто отлично.

1 голос
/ 18 февраля 2010

Вы можете перейти с POST, а затем установить поле формы с именем X-HTTP-Method-Override на DELETE.

См. SO вопрос № 467535 для конкретных примеров:

Возможно ли реализовать X-HTTP-метод-переопределение в ASP.NET MVC?

0 голосов
/ 21 февраля 2010

Извлеките из значения формы и отправьте запрос, вызовите Html.HttpMethodOverride (HttpVerbs.Delete) в форме.

0 голосов
/ 18 февраля 2010

Если все, что вы делаете, это удаляете элемент с определенным идентификатором, GET должен соответствовать вашим целям: http://www.diffen.com/difference/Get_vs_Post

Просто убедитесь, что вы обрабатываете случай, когда кто-то пытается удалить то, что уже удалено

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...