【问题标题】:Passing an array in JQuery with a POST and reading it with Flask使用 POST 在 JQuery 中传递一个数组并使用 Flask 读取它
【发布时间】:2015-06-02 12:53:52
【问题描述】:

我尝试使用 jQuery 存储图表中的数据,但总是收到 400 Bad request。

问题在于 data_series 变量不仅仅是一个整数数组,还有更多。这是不可更改的,因为我的图表生成必须是这样的。 一小部分向您展示我的意思:

data_series[0][data][0][]:1389975624000
data_series[0][data][0][]:91
data_series[0][data][1][]:1390003200000
data_series[0][data][1][]:446
data_series[0][data][2][]:1390089600000
data_series[0][data][2][]:429
.....

我的 Jquery 帖子是这样的,

$.ajax({
            url: "{{ url_for('save_graph_to_session') }}",
            method: "POST",
            data: {
                data_series: data_series
            },
            success: function(data) {
                console.log('Saved to session')
            }
        });

在烧瓶方面,我是这样阅读的,然后进行了一次会话:

@app.route('/save_graph_to_session', methods=[ 'POST'])
def save_graph_to_session():
    session['data_series'] = request.form['data_series'];
    return "saved"

我尝试使用'data_series[]:' data_series 发帖,也没有成功。 编辑: 也许解决方案就在请求的方式之内,所以: 有没有办法在烧瓶中请求忽略这是一个数组数组的事实

【问题讨论】:

  • 我认为你需要阅读 request.form['data_series[]'];,因为 jQuery 默认使用 PHP 命名约定。不过,这主要是猜测,我不知道您的服务器端表单处理库。
  • @Quentin 你给我指出了另一个思考方向。也许问题出在读取数据的方式上。但是,您的解决方案不起作用.. 感谢您的宝贵时间!
  • 您可能应该查看浏览器开发人员工具的“网络”选项卡,以了解实际发送的数据。
  • session['data_series'] = request.form.getlist('data_series[]') 是要走的路!

标签: javascript jquery post flask


【解决方案1】:

这是可以做到这一点的方式:

session['data_series'] = request.form.getlist('data_series[]');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-07
    • 2018-03-19
    • 1970-01-01
    相关资源
    最近更新 更多