【问题标题】:Get post data from ajax post request in python file从 python 文件中的 ajax 发布请求获取发布数据
【发布时间】:2014-11-20 18:01:43
【问题描述】:

我正在尝试使用 ajax 发布请求发布一些数据并执行 python 文件,检索 python 文件中的数据并返回结果。

我有以下 ajax 代码

        $(function () {
                    $("#upload").on("click", function (e) {
                        $.ajax({
                            type: 'post',
                            url: "test1.py",
                            data: {'param1':'abc'},
                            async: false,
                            success: function (response) {
                                console.log(response);
                            }
                        }).done(function (data) {
                            console.log(data);
                        });
                    });
                });

还有下面的python文件

    #! /usr/bin/python
    from __future__ import print_function
    import cgi, cgitb
    def index():
        data = cgi.FieldStorage()
        mydata = data['param1'].value
        return return "test"

我在 param1 上遇到了 keyerror -> "KeyError: 'param1'"。我也尝试过使用 getValue(data['param1']。将数据从 ajax 调用传输到我想要执行的 python 文件时似乎存在问题......但我不知道为什么。

提前致谢

【问题讨论】:

  • 我似乎无法正确设置 javascript 格式.. 嗯,谢谢 Daniel

标签: jquery python ajax


【解决方案1】:

我想出了一个解决方案。我希望其他人也可以使用它。

通过以下 python 代码,我设法从 ajax 调用中获取 postdata。

    def index(req):
        postData = req.form
        json = str(postData['param'].value)

【讨论】:

  • index(req) 中调用时,我不太清楚req 是如何定义的。是不是指向ajax调用发送的数据?在一个单独的问题中,我认为可以使用 myDataInPython = json.load(sys.stdin) 在本地存储该 ajax 数据,除非我在输入任何函数之前使用它,否则数据根本不会像我相信你暗示的那样指向参数。见link
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-24
  • 1970-01-01
  • 1970-01-01
  • 2017-08-31
  • 1970-01-01
相关资源
最近更新 更多