2010-09-30 25 views
0

Je suis confronté à des problèmes avec mon formulaire, j'ai écrit une application dans Python3.1 et quand je fais un GET ou un POST via AJAX fonctionne parfaitement, mais quand j'ai essayé de faire la même chose avec le forme ainsi l 'environnement [ « wsgi.input »] me donne ceci:Problèmes avec formulaire et POST

-----------------------------4974611941277794205934495116--\r 

la première fois que je pense que ce fut parce que le fichier ce que j'essaie de télécharger, mais après que j'éliminer l'élément de fichier et donnez-moi la même chose ce que cela signifie que je vous laisse le code de la forme:

<iframe id="hidden-frm" name="hidden-frm" style="display: none;"> 
</iframe> 
<form ENCTYPE="multipart/form-data" action="Gate.py?bt=upload" method="POST" name="input" target="hidden-frm">  
    <input id="testtxt" type="text"/> 
    <input type="submit" value="Presiona aqui!"/> 
</form> 

Merci d'avance.

+0

Pouvez-vous nous en dire plus sur l'environnement dans lequel vous aimeriez travailler? C'est à dire. Est-ce une application WSGI utilisant wsgiref pour servir, ou peut-être CGI via Apache, ou FastCGI via nginx? –

+0

C'est une application WSGI utilisant wsgiref pour servir, et le problème principal est quand j'ai essayé de sauvegarder un fichier ecodé, j'ai résolu le problème de la question, mais merci !!!!!! – hidura

Répondre

0

Cet encodage est le résultat du enctype="multipart/form-data, lorsque je suppose que vous attendez réellement le codage par défaut de application/x-www-form-urlencoded (c'est-à-dire key=value&key2=value2).

Si vous n'avez pas besoin de l'entrée de fichier (qui nécessite le codage en plusieurs parties), supprimez simplement le enctype de votre étiquette de formulaire, sinon vous devrez analyser l'entrée en plusieurs parties. Le stdlib cgi.FieldStorage est une solution pour Python 2.x, mais je ne connais pas l'état de cette classe particulière pour Python 3.x (il était cassé, IIRC).

+0

Cela ne fonctionne pas, mais avec l'enctype cela fonctionne, maintenant mon problème est avec l'extrait dans le CGI, il n'y a pas d'autre moyen d'extraire? – hidura