在 JavaScript 中检索 Python 变量
Retrieve Python variable in JavaScript
有什么方法可以检索使用 Python 脚本创建的变量并在 JavaScript 脚本中使用它?
例如,我使用 Python 解析 XML 得到一个整数:
parse code parse code parse code
i = 3
然后在我的 JavaScript 中,我可以将该变量 "i" 用于某些功能:
code for my function
r = 30 / i
则r值等于10
不直接,因为它们是单独的进程,通常在不共享内存或状态的单独计算机上。您在问题中没有提供太多上下文,所以我假设您在网络服务器中是 运行 python 并在 html 或 html 中使用 JS 输出 HTML 或作为外部来源链接。
如果是这种情况,您有两个选择。
- 动态生成您的 JS 并将其包含在 python 脚本的输出中(HTML 响应)
一种方法是通过 open() 函数在 python 脚本中加载 Javascript。然后在前面加上一个字符串,这是有效的 javascript 代码并定义一个变量或 JSON 对象。
假设您有这个 javascript 文件:
javascript.js
alert(my_js_data["field1"]);
alert(my_js_data["field2"]);
这是您的 python 脚本:
import json
# define your data you want in your javascript variable
my_data = {'field1': 'string value', 'field2': 100}
# open an existing script that is ready to use the my_js_data variable
# we are about to generate
js = open('javascript.js', 'r')
# dynamically generate javascript code
javascript_out = "var my_js_data = JSON.parse('{}');".format(json.dumps(my_data))
javascript_out += js.read()
现在,python 中的 javascript_out 变量是一个如下所示的字符串:
var my_js_data = JSON.parse('{"field1": "string value", "field2": 100}');
alert(my_js_data["field1"]);
alert(my_js_data["field2"]);
在没有更多上下文的情况下,我无法确切地告诉您如何使用 javascript_out 变量,但您需要将其包含在 HTML.[=13 中的适当位置=]
请注意,如果没有 python 脚本,javascript.js 文件将无法工作,因为 my_js_data 变量将不会被定义。
- 让您的 Javascript 向您的服务器发出另一个 HTTP (ajax) 请求,然后 return 一个包含您的数据的 JSON 字符串。
有什么方法可以检索使用 Python 脚本创建的变量并在 JavaScript 脚本中使用它?
例如,我使用 Python 解析 XML 得到一个整数:
parse code parse code parse code
i = 3
然后在我的 JavaScript 中,我可以将该变量 "i" 用于某些功能:
code for my function
r = 30 / i
则r值等于10
不直接,因为它们是单独的进程,通常在不共享内存或状态的单独计算机上。您在问题中没有提供太多上下文,所以我假设您在网络服务器中是 运行 python 并在 html 或 html 中使用 JS 输出 HTML 或作为外部来源链接。
如果是这种情况,您有两个选择。
- 动态生成您的 JS 并将其包含在 python 脚本的输出中(HTML 响应)
一种方法是通过 open() 函数在 python 脚本中加载 Javascript。然后在前面加上一个字符串,这是有效的 javascript 代码并定义一个变量或 JSON 对象。
假设您有这个 javascript 文件:
javascript.js
alert(my_js_data["field1"]);
alert(my_js_data["field2"]);
这是您的 python 脚本:
import json
# define your data you want in your javascript variable
my_data = {'field1': 'string value', 'field2': 100}
# open an existing script that is ready to use the my_js_data variable
# we are about to generate
js = open('javascript.js', 'r')
# dynamically generate javascript code
javascript_out = "var my_js_data = JSON.parse('{}');".format(json.dumps(my_data))
javascript_out += js.read()
现在,python 中的 javascript_out 变量是一个如下所示的字符串:
var my_js_data = JSON.parse('{"field1": "string value", "field2": 100}');
alert(my_js_data["field1"]);
alert(my_js_data["field2"]);
在没有更多上下文的情况下,我无法确切地告诉您如何使用 javascript_out 变量,但您需要将其包含在 HTML.[=13 中的适当位置=]
请注意,如果没有 python 脚本,javascript.js 文件将无法工作,因为 my_js_data 变量将不会被定义。
- 让您的 Javascript 向您的服务器发出另一个 HTTP (ajax) 请求,然后 return 一个包含您的数据的 JSON 字符串。