【问题标题】:Python - How to process my JSON FormData on the backend in Python?Python - 如何在 Python 的后端处理我的 JSON FormData?
【发布时间】:2017-10-30 14:40:06
【问题描述】:

我是一个完全的初学者,我有点迷茫。

这是我的申请:

在前端我有一个反应表单,我使用 fetch 将表单数据发送到我的后端:

fetch('/process.py', {
            method: 'POST',
            headers: {
                'Accept': 'application/json',
                'Content-Type': 'application/json',
            },
            body: JSON.stringify({data})
        })

在后端我有一个简单的文件 python 文件,我不知道如何处理我刚刚收到的数据

【问题讨论】:

  • 你的后端代码是什么? python文件是什么?
  • 我们只知道是process.py。但是 Python 源代码文件不会自动向 HTTP 客户端公开。
  • @ShikharChauhan 只是一个小脚本,我用来将一些硬编码的 JSON 转换为 Dataframe 对象。但现在我要做的是用我的 FormData JSON 替换硬编码的 JSON
  • @ElmoVanKielmo 我怎样才能暴露它?

标签: python json post request fetch


【解决方案1】:

如果我们能看到你的一些 python 脚本,那将有助于澄清,但我假设你不确定如何处理你的回报。

您可以使用 json 或 yaml 模块解析 json 返回。

这个网站:http://docs.python-guide.org/en/latest/scenarios/json/ 似乎很好地描述了要做什么。

你的回报是一些 var,

import json
var = [json_data]
data = json.loads(var)

从这里,您可以将返回值解析为字典

【讨论】:

  • 谢谢,但我的硬编码 JSON 没有问题,主要问题是连接我的前端和后端
  • 你能把那个python文件扔掉吗?这将有助于我们回答这个问题。
【解决方案2】:

好的,我决定尝试 Flask,它工作得很好。

process.py:

from flask import Flask, request, json, abort
from flask_cors import cross_origin

app = Flask(__name__)

@app.route('/foo', methods=['POST'])
@cross_origin(origin='localhost', headers=['Content- Type',   'Authorization'])
def foo():
if not request.json:
    abort(400)
print(request.json)
return json.dumps(request.json)


if __name__ == '__main__':
 app.run(host='0.0.0.0', port=5050, debug=True)

我的获取:

fetch('http://127.0.0.1:5555/foo', {
        method: 'POST',
        headers: {
            'Accept': 'application/json',
            'Content-Type': 'application/json',
        },
        body: JSON.stringify({data})
    })

【讨论】:

    【解决方案3】:

    自从我用 python 完成 http 服务器已经有一段时间了,所以我确信有一个更“正确”/现代的答案,但我非常喜欢使用 tornado:http://www.tornadoweb.org/en/stable/http.html

    无论哪种方式,您都需要找到一些库来创建一个 http 服务器来发送请求。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-12-02
      • 1970-01-01
      • 1970-01-01
      • 2016-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多