【问题标题】:Problems with form and POST表单和 POST 的问题
【发布时间】:2010-09-30 03:55:26
【问题描述】:

我的表单遇到问题,我在 Python3.1 中编写了一个应用程序,当我通过 AJAX 进行 GET 或 POST 时可以完美运行,但是当我尝试使用 environ 的表单方式做同样的事情时['wsgi.input'] 给我这个:

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

我第一次认为这是因为我试图上传的文件,但是在我消除了文件元素并给我同样的东西之后,这意味着什么,我让你表单的代码:

<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>

提前致谢。

【问题讨论】:

  • 你能告诉我们更多关于你想工作的环境吗? IE。它是使用 wsgiref 提供服务的 WSGI 应用程序,还是通过 Apache 的 CGI 或通过 nginx 的 FastCGI?
  • 这是一个使用 wsgiref 服务的 WSGI 应用程序,主要问题是当我尝试保存编码文件时,解决了问题的问题,但是谢谢!!!!!!跨度>

标签: html file-upload webforms python-3.x wsgi


【解决方案1】:

该编码是enctype="multipart/form-data 的结果,当我怀疑您实际上期待application/x-www-form-urlencoded 的默认编码时(即key=value&amp;key2=value2)。

如果您不需要文件输入(需要多部分编码),则只需从表单标签中删除enctype,否则您将需要解析多部分输入。 stdlib cgi.FieldStorage 是 Python 2.x 的一种解决方案,但我不知道 Python 3.x 的特定类的状态(它曾经被破坏,IIRC)。

【讨论】:

  • 这不起作用,但是使用 enctype 可以,现在我的问题是 cgi 中的提取,没有其他方法可以提取吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-08-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-15
  • 2013-02-25
  • 1970-01-01
相关资源
最近更新 更多