Estoy intentando averiguar por qué los métodos de poner/eliminar, en un sitio habilitado para HTML5, no funcionan con Chrome. Por lo que he buscado, parece que ha estado funcionando durante algún tiempo con Chrome, así que con eso dije que estoy buscando algunos consejos para reducir mi problema. Tal vez estoy implementando el formulario incorrecto, tal vez mi doctype está equivocado, quién sabe. Cualquier ayuda se agradece :)¿Los métodos HTML5 PUT/DELETE no funcionan en Chrome?
Por lo tanto, el código es el siguiente:
<!DOCTYPE html>
<html>
<head>
<title>
some_resource
</title>
</head>
<body>
<div class="content">
<form method="put" action="/some_resource">
<div>
<input id="title" name="title" placeholder="The Resource Title" type="text" value="" autofocus />
</div>
<div>
<textarea id="body" name="body" placeholder="The Resource Body" required></textarea>
</div>
<div>
<input id="submit" name="submit" type="submit" value="Submit" />
</div>
<!-- Resource Settings -->
<ul>
<li>
<input id="listed" name="listed" type="checkbox" value="y" />
</li>
<li>
<input id="template" name="template" type="text" value="resource.html" />
</li>
</ul>
</form>
</div>
</body>
</html>
Sólo una prueba básica para una forma. Ahora lo he probado en el último Ubuntu Firefox (3.6.7), Opera (10.60 Internal) y el último Linux Chrome Beta de Google (5.0.375.99 beta). Ninguno de ellos parece enviar el método de envío adecuado al servidor, cuando envío el formulario. Ahora, creo (no a partir de ninguna investigación específica) que Firefox todavía tiene que admitir esto, y que al igual que muchos HTML5, está programado para la próxima versión de FF. Opera no lo sé, pero a menudo escucho que sigue el ritmo de Chrome. Entonces ... sí, estoy un poco confundido.
Al enviar el formulario, van a la url: http://localhost:8080/some_resource?title=t&body=b&submit=Submit&template=resource.html
. Tenga en cuenta que, como se esperaba, POST funciona bien.
¿Alguien tiene alguna sugerencia para que funcione el método put? Podría ser posible que la versión beta de Linux simplemente no se haya actualizado a la de la variedad Windows (algo asumo, es de lo que la gente estaba hablando cuando vi PUT trabajando para Chrome), pero realmente lo espero es un problema con mi implementación.
¿Los servidores tienen que admitir PUT/DELETE? (Estoy usando AppEngine Dev Server actualmente). No sé .. espero que alguien tiene algunas ideas :)
, gracias a las respuestas, Lee
Nota: Otras características de HTML5 que he probado hasta ahora están trabajando. Por ejemplo, en esa forma puedes ver el enfoque automático y los atributos requeridos. Esos funcionan como estaba previsto en Chrome.
Edit1: Solo para aclarar, entiendo que el soporte para estos es incompleto. Como respondí antes a una respuesta, no me importa el soporte actual en otros navegadores. Actualmente, Chrome es lo que quiero trabajar, y espero que Firefox funcione en el próximo lanzamiento (no sé, simplemente los escucho empujar mucho a HTML5), y no tengo ni idea sobre Opera.
Todo esto es simplemente para probar y aprender el nuevo y maravilloso mundo de HTML5 (Web Workers, localStorage, etc.) y CSS3. Solo me preocupan los navegadores de última generación, que coinciden con la tecnología de punta: :)
'PUT' y' DELETE' no tiene nada que ver con HTML5; se definen en la especificación HTTP/1.1. El soporte debe estar presente tanto en el lado del cliente (para enviar) como del servidor (para manejarlo). – You
Sí, y el uso, tal como lo permite HTML5, es algo que estoy muy entusiasmado. La pregunta es ... ¿por qué no funciona? /. Demonios, algunas personas dicen que actualmente se admiten un montón de atributos, pero ni siquiera puedo hacer funcionar PUT/DELETE. Argh –
Hay un borrador para que los verbos sean compatibles oficialmente. No tengo ni idea de por qué tardó tanto, ya que PUT/DELETE ha sido parte de HTTP durante años. Consulte http://amundsen.com/examples/put-delete-forms/ para obtener más información. Hasta que se acepte ese borrador, los navegadores simplemente no enviarán nada más que OBTENER y PUBLICAR. –