tag link attribute html5 hyperlink httpverbs http-delete rfc2616

link - title html5



¿Cómo especificar el método DELETE en un enlace o formulario? (6)

@Ifnot plugin es genial, ¡pero creé una basada en la función $.ajax lugar de añadir formularios hidden ! Aquí hay un ejemplo simple para una solicitud DELETE

HTML

<button class="delete" data-target="http://example.com/post/post-id/" data-method="DELETE" data-disabled="true">Delete Article</button>

JavaScript

$(".delete").restintag(optionsObj, function(data) { console.log(data); }, function(error) { console.log(error); });

https://github.com/KhaledElAnsari/RESTInTag/

Rfc2616 enumera muchos métodos además de GET y POST, como, digamos, BORRAR, PUT, etc. El campo del método en formularios html, sin embargo, parece estar autorizado a especificar solo GET o POST.

¿Es posible crear un enlace o formulario en una página html que usa un método de solicitud que no es GET o POST?



Estaba tratando de resolver esto para una aplicación de rieles que usaba Angular en la parte delantera; Estos parecen funcionar para ese ambiente:

<a data-confirm="Are you sure?" data-method="delete" href="/link-to-resource" rel="nofollow">Delete</a>

Edición: solo para ayudar a todos, creo que aún necesitas tener jQuery para que esto funcione. Saqué jQuery y dejó de funcionar; Lo devolví y empezó a funcionar.


No es posible crear un enlace o formulario con el método de eliminación.

Muchos frameworks web crean una entrada oculta llamada "_method" para manejar PUT y DELETE.

Creé un complemento para convertir automáticamente enlaces a formularios: RestfulizerJs

Puede echar un vistazo aquí: https://github.com/Ifnot/RestfulizerJs


Por defecto, no hay forma de hacer esto. Los enlaces siempre realizan GET, los formularios pueden usar GET o POST .

Dicho esto, con un poco de JavaScript, es posible. Rails, por ejemplo, se envía con ayudantes que agregarán un atributo de data-method a los enlaces. Rails-UJS es una biblioteca jQuery que interceptará de forma transparente los clics en estos enlaces y activará un envío de formulario con un parámetro _method utilizado para anular el método HTTP normal. Finalmente, Rack interceptará las solicitudes con un _method , y sobrescribirá el método de solicitud con el valor en _method .

Otros marcos sin duda siguen un patrón similar.

Si desea más detalles, he escrito una explicación de cómo Rails, Rails-UJS y Rack trabajan juntos para proporcionar esto.

Es bueno saber cómo funcionan sus bibliotecas.


simplemente añada un atributo de método de datos, <a data-method=''put'' href=''whatever''>link</a>