jquery - example - spring security oauth2
Soporte HTTP Patch XmlHttpRequest (2)
La mayoría de los navegadores restringen los métodos HTTP a GET / POST cuando se aplican a formularios. Sin embargo, con las solicitudes de AJAX, siempre que el servidor de respaldo pueda admitir el método, funcionará.
Estoy trabajando en alguna aplicación de tareas pendientes y me gustaría usar el método HTTP PATCH para agregar y eliminar todo porque esto sería semánticamente mejor que PUT.
En el back-end estoy usando express.js (node.js) y en el front-end backbone.js (que usa jQuery para ajax).
Ya probé si realmente funciona en back-end y front-end en mi suite de desarrollo local (Archlinux, Chromium 20, node.js 0.8, express 2.X) y funcionó:
app.js
app.patch(''/todo/:id'', function(req, res){
console.log(''patch successfull'');
}
consola web de cromo
$.ajax({
url: ''/messages/4ff13720f00e2e2c4b000006'',
type: ''PATCH'',
data: { body: ''that is a patched message'' }
});
Se mencionó la solicitud y también las acciones de la base de datos donde fue posible sin excepciones.
Ahora me gustaría saber cómo otros navegadores admiten el método de parche. Miré con Google pero es difícil encontrar algo porque PATCH tiene múltiples significados ...
Los navegadores modernos son compatibles con PATCH (de hecho, con $ ajax puede hacer cualquier método que desee, siempre que el navegador no lo bloquee). Debajo de IE9 no tienes suerte.
Con FF, Chrome y Safari es un problema menor, porque aquellos comenzaron a actualizarse automáticamente hace años y hace más de dos años dejaron de bloquear métodos distintos de GET y POST.