【问题标题】:Make returned JSON readable by javascript in Flask使返回的 JSON 可以被 Flask 中的 javascript 读取
【发布时间】:2020-05-12 04:26:00
【问题描述】:

我正在开发一个简单的应用程序,其中 HTML 界面将一些数据发送到 Python Flask Server,它会生成一些图形和表格。我想在一个响应中返回图形 base64 url​​ 和表格的 HTML 代码。我想我应该把它们放入一个数组中并对其进行 jsonify。这是导致我出现问题的行,其中table 是由 pandas 生成的纯 HTML 代码,pic_hash 是图形 PNG 的 base64 URL。

return jsonify(table, pic_hash)

在 javascript 中,当我引用响应的第 0 个索引时,我得到一个 <。我确定这是因为 pandas 在使用 to_html() 时在属性中使用了双引号。

我怎样才能让这只是一个包含两个项目的简单数组,一个是没有转义或双引号的 HTML 代码,另一个是有效的 base64 URL?

【问题讨论】:

  • 使用简单的[ ]创建列表jsonify( [table, pic_hash] )
  • BTW jsonify 将数据转换为字符串并添加转义 - 在 JavaScript 中获取它之后,您必须将其从字符串转换回普通数据 - 它应该删除转义。似乎你得到了字符串,但你没有将它转换回数据。现在您将此字符串用作数组,索引0 为您提供此字符串中的第一个字符。
  • 您没有显示用于在 JavaScript 中获取数据的代码,但某些库应该自动将 JSON 字符串转换为数据。或者您必须手动操作JSON.parse()
  • 谢谢你。我确实忘了做 JSON.parse(),这解决了我的问题。

标签: javascript python html json flask


【解决方案1】:

jsonify 将数据转换为字符串并添加转义 - 以创建正确的 JSON 数据。

JavaScript 中,您必须将其从字符串转换回普通数据,并且它应该删除转义。见JSON.parse()

jQuery 中可以使用getJSON() 从服务器获取已经从字符串转换为数据的数据。

【讨论】:

    猜你喜欢
    • 2016-02-26
    • 2014-10-29
    • 1970-01-01
    • 1970-01-01
    • 2020-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-08
    相关资源
    最近更新 更多