У меня есть SPA (одностраничное приложение), поэтому он широко использует AJAX для получения и сохранения данных на сервере и с сервера. В одном случае я разрешаю администратору просматривать/добавлять/редактировать/удалять пользователей. Некоторые современные URLs для этой области выглядело что-то вроде:Должен ли я использовать URL стиля стиля REST с PUT и DELETE в своем веб-приложении?
(GET) /users?userId=1 // get user with id of 1
(POST) /users?userId=1&firstName=Jim // update the first name of the user with id 1
(POST) /users?firstName=Bob // create a new use with the first name Bob
(POST) /users?userId=1&delete=true // delete user with id of 1
Потратив некоторое время работал на RESTful API в родственном проекте, мне интересно, если это предпочтительнее использовать типы HTTP (GET, POST, PUT, DELETE) в веб-приложении. Кроме того, лучше ли использовать параметр пути для идентификатора пользователя вместо параметра запроса? Таким образом, эти URL-адреса (переписать выше) являются лучшим вариантом в долгосрочной перспективе:
(GET) /users/1 // get user with id of 1
(PUT) /users/1?firstName=Jim // update the first name of the user with id 1
(POST) /users?firstName=Bob // create a new use with the first name Bob
(DELETE) /users/1 // delete user with id of 1
Мне должно быть ясно, что я не проектирую RESTful API в этом случае, а просто типичное веб-приложение для SPA с большим количеством AJAX. Мне нужно поддерживать IE 8 и выше вместе с современными версиями Firefox и Chrome. Будут ли эти браузеры поддерживать PUT и DELETE через AJAX? Я знаю, что html-формы - это совсем другая история. – Jeremy
Похоже, что поскольку браузер поддерживает собственный XMLHTTPRequest, он должен отлично работать в AJAX. http://stackoverflow.com/questions/165779/are-the-put-delete-head-etc-methods-available-in-most-web-browsers – Mgetz