2010-03-02 2 views
1

J'ai copié le Django forms example exactement, en cours d'exécution sur localhost. L'exemple de formulaire de contact de base doit soumettre une demande POST lorsque vous cliquez sur le bouton Envoyer. Je cours Chrome sur Mac Snow Leopard, et chaque fois que je soumets le formulaire, la page se recharge simplement avec un formulaire vide: je peux voir à partir de la sortie runserver qu'il n'envoie pas de POST - à la place il envoie une requête GET .Chrome ne pas envoyer des demandes POST sur localhost, Firefox fonctionne bien

Si j'ouvre la même page dans Firefox sur Mac Snow Leopard, et que je soumets le formulaire, je peux voir qu'il envoie une requête POST (comme il se doit).

En regardant la source dans Chrome, le formulaire indique définitivement method="post".

<form action="/contact/" method="post"> 
<p><label for="id_subject">Subject:</label> <input id="id_subject" type="text" name="subject" maxlength="100" /></p> 
<p><label for="id_message">Message:</label> <input type="text" name="message" id="id_message" /></p> 
<p><label for="id_sender">Sender:</label> <input type="text" name="sender" id="id_sender" /></p> 
<p><label for="id_cc_myself">Cc myself:</label> <input type="checkbox" name="cc_myself" id="id_cc_myself" /></p> 
<input type="submit" value="Submit" /> 
</form> 

Les sites externes avec des formulaires POST semblent fonctionner correctement dans Chrome.

En outre, si je ne remplis pas le formulaire correctement, dans la page Chrome, la page se recharge simplement, avec une demande GET, comme précédemment; Dans Firefox, le formulaire est validé, comme il se doit.

J'ai essayé avec d'autres formulaires POST sur localhost et j'ai obtenu le même résultat.

Je sais que Chrome pour Mac a ses bizarreries, mais que se passe-t-il?

Répondre

0

Cela est probablement dû au fait que Chrome traite chaque fichier: // URL comme different domain. Essayez de lancer Chrome avec l'option --allow-file-access-from-files et voyez si cela vous aide.

Mise à jour: Vous devez fermer toutes les instances Chrome existantes et lancer une nouvelle instance avec cette option pour remarquer toute différence.

+0

Merci. Pourrait être, bien que: (i) j'ai le problème sur les formulaires qui n'impliquent pas les téléchargements de fichiers, et (ii) les formulaires ont toujours travaillé correctement sur locahost dans Chrome, cela semble être une chose nouvelle. J'essaie juste de savoir comment lancer Chrome à partir de la ligne de commande dans Mac OS ...... sigh – AP257

+0

Mon commentaire n'avait rien à voir avec les téléchargements de fichiers. Si vous accédez à la page Web à partir d'un URI 'file: //' au lieu d'un URI 'http: //', alors chaque fichier est considéré comme son propre domaine. La raison pour laquelle vous n'auriez pas vu cela auparavant est que ce comportement n'a été activé que le 24 février. – jamessan

+0

Oh je vois. Non, j'utilisais http: // localhost: 8080. Le comportement a disparu maintenant. Bizarre! Merci quand même. – AP257

Questions connexes