Javascript 在JS文件中处理python生成的JSON
我是网络开发的新手。事实上,一周前我对此事一无所知。现在我有一个由资深同事指派的项目。 数据是使用python获得的,从python到javascript的桥梁是Flask,位于Javascript 在JS文件中处理python生成的JSON,javascript,jquery,html,flask,Javascript,Jquery,Html,Flask,我是网络开发的新手。事实上,一周前我对此事一无所知。现在我有一个由资深同事指派的项目。 数据是使用python获得的,从python到javascript的桥梁是Flask,位于main.py。实际上,数据更长,由其他函数返回,但格式为jsonify() 我的问题是如何在JS文件(如handle_data.JS)中访问此JSON数据?我想从这些数据制作一个highchart到我的home.html 这一个对我不起作用。您可以在JavaScript中使用这种替换 <script type="
main.py
。实际上,数据
更长,由其他函数返回,但格式为jsonify()
我的问题是如何在JS文件(如handle_data.JS
)中访问此JSON数据?我想从这些数据制作一个highchart到我的home.html
这一个对我不起作用。您可以在JavaScript中使用这种替换
<script type="text/javascript">
var a = "{{someDjangoVariable}}";
</script>
您可以将这种替换放入JavaScript中
<script type="text/javascript">
var a = "{{someDjangoVariable}}";
</script>
以下是步骤:
获取JSON数据。这可能来自本地文件或API。如果您需要这一步的帮助,请使用谷歌搜索如何将JSON文件导入JavaScript或如何进行HTTP调用
解析JSON数据并将其分配给一个对象:var myData=JSON.Parse(data)代码>
数据现在位于典型的JavaScript对象中
以下是步骤:
获取JSON数据。这可能来自本地文件或API。如果您需要这一步的帮助,请使用谷歌搜索如何将JSON文件导入JavaScript或如何进行HTTP调用
解析JSON数据并将其分配给一个对象:var myData=JSON.Parse(data)代码>
数据现在位于典型的JavaScript对象中
如果您将数据
创建为一个字典而不是python中的字符串,这将非常有用,因为jinja2模板引擎很容易解释它。(另外,看起来您的数据已经jsonify了-您提到的数据由另一个函数返回,并由jsonify()格式化)。要访问JS文件中的数据变量,首先需要使用标记将JS文件包含在视图(即html页面)中。然后,在该脚本标记下,需要将数据变量传递给js文件(handle_bar.js)中定义的函数
html文件的示例代码:
<html>
<head>
<body>
Some text
<script src="path/to/handle_bar.js"></script>
<script>
loadData({{data}});
</script>
</body>
</html>
如果您将数据
创建为一个字典而不是python中的字符串,这将非常有用,因为jinja2模板引擎很容易解释它。(另外,看起来您的数据已经jsonify了-您提到的数据由另一个函数返回,并由jsonify()格式化)。要访问JS文件中的数据变量,首先需要使用标记将JS文件包含在视图(即html页面)中。然后,在该脚本标记下,需要将数据变量传递给js文件(handle_bar.js)中定义的函数
html文件的示例代码:
<html>
<head>
<body>
Some text
<script src="path/to/handle_bar.js"></script>
<script>
loadData({{data}});
</script>
</body>
</html>
非常感谢您的重播,我们是否应该放置loadData({{data}})代码>在
之前?放置加载数据({{data})代码>在
之后是的。半小时前我做了一件和你类似的事,问题解决了。我所做的是var globaldata={{data | tojson | safe}
然后我可以在handle_bar.js
中访问globaldata
,JSON是通过JSON.parse(globaldata)
获得的,我最后改成了这个方法,因为这将从HTML中隐藏日期,而我的上一个解决方案无法。非常感谢您的重播,我们是否应该把加载数据({{data}})代码>在
之前?放置加载数据({{data})代码>在
之后是的。半小时前我做了一件和你类似的事,问题解决了。我所做的是var globaldata={{data | tojson | safe}
然后我可以在handle_bar.js
中访问globaldata
,JSON是通过JSON.parse(globaldata)
获得的。我最后改成了这个方法,因为这将从HTML中隐藏日期,而我的上一个解决方案无法。我被告知未捕获语法错误:意外标记{在JSON中的位置1
。如果我们想在home.html之外访问JSON文件中的JSON,我们可能会遇到问题。我被告知Uncaught SyntaxError:Unexpected token{在JSON的位置1
。如果我们想在home.html之外访问JSON文件,我们可能会遇到问题。谢谢,实际上这是我需要帮助的第一步。谢谢,实际上这是我需要帮助的第一步。