【问题标题】:How to POST json file contents as application/json from flask template?如何从烧瓶模板将 json 文件内容作为 application/json 发布?
【发布时间】:2021-07-24 16:36:33
【问题描述】:

我在下面有一个烧瓶表单,它将 JSON 文件上传到另一个端点。 但是,到目前为止,我的表单被编码为 multipart/form-data。

我认为表单没有 application/json 编码?

如何让表单 POST 到端点的 JSON 文件的内容?

{% extends "layout.html" %}    
                               
{% block title %}Upload{% endblock %}

{% block body %}               
      <form action = "/upload" method = "POST" 
         enctype = "multipart/form-data">
         <input type = "file" name = "file" />
         <input type = "submit"/>        
      </form>                  
{% endblock %}

【问题讨论】:

  • 你不能只用javascript来做吗?喜欢ajax调用?
  • 可能不得不...干杯,调查 Ajax 调用 ....

标签: python html json flask


【解决方案1】:

HTML 表单不支持 application/json POST。但是您可以使用带有或不带有按钮单击事件的 Ajax 调用。示例:

$.ajax({
    url: 'THE URL YOU WANT TO POST TO',
    type: 'POST',
    data: JSON.stringify({
        name: "anon_dcs3spp"
    }),
    contentType: 'application/json',
});

【讨论】:

  • 谢谢,不胜感激!如何从 Ajax 代码中的文件中读取 JSON?
  • 如果您从文件中读取 json,则必须在应用程序中单独读取它。使用json.load 将文件内容加载到变量中。然后将该变量传递给您的模板。
  • here 是如何将变量传递给您的模板
  • 好的,谢谢。我需要渲染烧瓶模板,以便在客户端选择要上传的文件,并在单击上传时将其发布到具有包含 json 文件内容的 json 有效负载的不同端点。将接受答案,因为看起来 Ajax 是客户端的前进方向。我只需要弄清楚如何让它读取表单客户端中选择的文件并发送它......
  • 哦,所以您希望文件被上传并在另一条路径上读取其内容(即 json)?您可以只使用 html 表单上传和发布文件,然后接收文件内容并将其存储在变量中。您可能不需要 ajax 调用。
猜你喜欢
  • 2018-12-16
  • 1970-01-01
  • 2017-07-06
  • 1970-01-01
  • 2012-02-28
  • 2018-06-11
  • 2014-01-06
  • 1970-01-01
  • 2011-08-09
相关资源
最近更新 更多