【问题标题】:HTML Form Downloading Response of POST RequestPOST 请求的 HTML 表单下载响应
【发布时间】:2019-05-05 12:30:05
【问题描述】:

我正在尝试使用 HTML 表单来执行发布请求。我知道通常 AJAX 可能是解决此问题的更好方法,但我的用例非常简单,我必须在此表单提交中上传文件(仅使用 HTML 表单真的很容易)。无论如何,一切正常,但由于某种原因,我的浏览器正在下载我的 POST 请求响应的内容,这是我不希望发生的。当我提交 post 请求时,除了发出 post 请求之外,我不希望实际发生任何事情。

这是我的代码的 HTML 部分:

 <form enctype="multipart/form-data" action="/action" method="POST">
     <input type="hidden" name="MAX_FILE_SIZE" value="30000"/>
     <input type="text" name="email" id="email">
     <input type="file" name="file" id="file" accept="image/*">
     <input type="submit">
  </form>

我不确定它是否相关,但我使用的是 Flask 网络服务器,这是我返回的响应:

response = {"status": 200}
return Response(json.dumps(response), mimetype='applications/json') 

问题是我不断从浏览器下载文件,其中包含“{“status”:200}”。

【问题讨论】:

    标签: html forms file post flask


    【解决方案1】:

    Status : 200 表示。

    请求成功。

    所以一个 OK 状态响应被发送到位置,/action,正如您在action="/action" 中提到的那样。所以我猜这也是你想要发送 POST 请求的视图。

    我没有您的/action 视图的代码,但是:

    • 这也不是您打算发送的视图。
    • 这也是您打算发送的视图。

    因此,如果它不是正确的视图,您可以做的是,使用 jinja 模板并像这样提及您的视图。

    <form method="POST" action="{{url_for('xyz')}}">
    

    注意我如何在 jinja 模板中使用 url_for() 来指定路线。

    如果它的视图正确,我可以通过查看名为action 的视图代码来回答问题。 不过,最有可能的是,

    • 您的返回函数有误。再次检查返回功能。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-13
      • 1970-01-01
      • 2012-05-11
      • 2016-10-16
      • 1970-01-01
      相关资源
      最近更新 更多