【问题标题】:Return list of list from Python to JS将列表从 Python 返回到 JS
【发布时间】:2018-01-12 18:27:35
【问题描述】:

我正在对我的 python 代码进行一些计算。结果,我得到了类似于我在这里的列表列表

data = [
 [{"Count": 33874, "range": "-10"}, {"Count": 19961, "range": "-9"}], 
 [{"Count": 46831, "range": "8"}, {"Count": 62326, "range": "9"}]
]

我想将此返回给我的 JS?我目前正在使用jsonify({"list":data}),但这不起作用。

我的python代码

@app.route('/readRatingFiles', methods = ['POST'])
def get_post_MlModel():
    data = compute()
    return jsonify({"list":data})

我的 JS 代码

  $.post("/readRatingFiles", {
  }).done(function(data) {
      indexGot = data.index
      textDict[indexGot] = data.results;
  });

【问题讨论】:

  • 这段代码在哪里执行?我对任何可以原生同时运行 Python 和 javascript 的环境都不是很熟悉。
  • 你能描述一下“不起作用”吗?见stackoverflow.com/help/mcve
  • 这个jsonify是关于Flask API,jsonfify包...?请提供更多详细信息。
  • 更新了我的帖子。详情请看上面的帖子
  • 代码返回一个数组数组。 indexGot = data.index 的预期结果是什么?

标签: javascript python flask


【解决方案1】:

您的 AJAX 调用格式不正确。

再次查看您返回的内容:jsonify({"list": data})。回调函数返回 JSON 对象,但您永远无法获得密钥。回调中的data 与Python 中的data 变量不同。正确的做法应该是:

$.post("/readRatingFiles", {
}).done(function(response) {
     data = response['list'];
     indexGot = data.index;
     textDict[indexGot] = data.results;
});

不完全确定您的 JavaScript 代码的其余部分是什么意思,但我相信您知道自己在做什么。 :P

【讨论】:

    猜你喜欢
    • 2013-01-24
    • 1970-01-01
    • 1970-01-01
    • 2020-04-22
    • 1970-01-01
    • 2021-01-24
    • 1970-01-01
    • 1970-01-01
    • 2015-06-26
    相关资源
    最近更新 更多