2

有什么方法可以检索使用 Python 脚本创建的变量并在 JavaScript 脚本中使用它?

例如,我使用 Python 解析 XML 以给我一个 int:

parse code parse code parse code
i = 3

然后在我的 JavaScript 中,我可以将该变量“i”用于某些功能:

code for my function
r = 30 / i 

那么r值等于10

4

1 回答 1

2

不是直接的,因为它们是独立的进程,通常在不共享内存或状态的独立计算机上。您在问题中没有提供太多上下文,所以我假设您在网络服务器中运行 python 并在 html 中或作为外部源链接输出带有 JS 的 HTML。

如果是这种情况,您有两个选择。

  1. 动态生成您的 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 中的适当位置。

请注意,如果没有 python 脚本,javascript.js 文件将无法工作,因为 my_js_data 变量将不会被定义。

  1. 让您的 Javascript 向您的服务器发出另一个 HTTP (ajax) 请求,然后该请求将返回一个带有您的数据的 JSON 字符串。
于 2016-12-04T04:59:19.713 回答