J'essaie de comprendre pourquoi les méthodes put/delete, dans un site compatible HTML5, ne fonctionnent pas avec Chrome. D'après ce que j'ai cherché, il semble que cela fonctionne depuis un certain temps avec Chrome, donc cela dit je cherche juste quelques conseils pour affiner mon problème. Peut-être que j'applique mal la forme, peut-être mon doctype est faux, qui sait. Toute aide est appréciée :)Les méthodes HTML5 PUT/DELETE ne fonctionnent pas dans Chrome?
Ainsi, le code ressemble à ceci:
<!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>
Juste un test de base pour une forme. Maintenant, je l'ai essayé sur le dernier Firefox Ubuntu (3.6.7), Opera (10.60 interne), et la dernière version bêta de Google Chrome de Google (5.0.375.99 bêta). Aucun d'entre eux ne semble envoyer la méthode put appropriée au serveur, quand je soumets le formulaire. Maintenant, je crois (pas de recherche spécifique) que Firefox doit encore supporter cela, et que comme beaucoup de HTML5, il est prévu pour la prochaine version de FF. Opera je ne sais pas, mais j'entends souvent à ce sujet au rythme de Chrome. Donc .. oui, je suis un peu confus.
Lors de la soumission du formulaire, ils vont à l'adresse URL: http://localhost:8080/some_resource?title=t&body=b&submit=Submit&template=resource.html
. Notez que, comme prévu, POST fonctionne très bien.
Maintenant, est-ce que quelqu'un a des pointeurs pour faire fonctionner la méthode put? Il est possible que la version bêta de Linux n'ait pas été mise à jour pour celle de Windows (quelque chose que je suppose, est ce que les gens parlaient quand j'ai vu PUT travailler pour Chrome), mais je l'espère vraiment est un problème avec ma mise en œuvre.
Les serveurs doivent-ils prendre en charge PUT/DELETE? (J'utilise AppEngine Dev Server actuellement). Je ne sais pas .. espérons que quelqu'un a des idées :)
Grâce à des réponses, Lee
Note: Autres fonctionnalités HTML5 j'ai testé à ce jour fonctionnent. Par exemple, sous cette forme, vous pouvez voir l'autofocus et les attributs requis. Ceux-ci fonctionnent comme prévu dans Chrome.
Edit1: Juste pour clarifier, je comprends le soutien pour ceux-ci est sommaire. Comme j'ai répondu à une réponse plus tôt, je ne me soucie pas du support actuel dans d'autres navigateurs. Actuellement Chrome est ce que je veux travailler, et je m'attends à ce que Firefox fonctionne dans la prochaine version (je ne sais pas, je les entends beaucoup pousser HTML5), et je n'ai aucune idée d'Opera. Tout cela est simplement pour tester et apprendre le nouveau monde merveilleux de HTML5 (Web Workers, localStorage, etc) et CSS3. Je me soucie seulement des navigateurs à la pointe de la technologie, qui correspondent à la technologie de pointe.
'PUT' et' DELETE' n'a rien à voir avec HTML5; ils sont définis dans la spécification HTTP/1.1. Le support doit être présent à la fois côté client (à envoyer) et serveur (à gérer). – You
Oui, et l'utilisation, comme autorisé être HTML5, est quelque chose que je suis très excité. La question est .. pourquoi ne fonctionne-t-elle pas: /. Bon sang, certaines personnes disent qu'une tonne d'attributs est actuellement supportée, mais je n'arrive même pas à faire fonctionner PUT/DELETE. Argh –
Il y a un brouillon pour obtenir ces verbes supportés officiellement. Je n'ai aucune idée de pourquoi cela a pris si longtemps, comme PUT/DELETE ont fait partie de HTTP depuis des lustres. Voir http://amundsen.com/examples/put-delete-forms/ pour plus d'informations. Jusqu'à ce que ce projet soit accepté, les navigateurs n'enverront tout simplement pas autre chose que GET et POST. –