Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JavaScript中检索Python变量_Javascript_Python_Parsing_Multiple Languages - Fatal编程技术网

在JavaScript中检索Python变量

在JavaScript中检索Python变量,javascript,python,parsing,multiple-languages,Javascript,Python,Parsing,Multiple Languages,是否有某种方法可以检索使用Python脚本创建的变量并在JavaScript脚本中使用它 例如,我使用Python解析XML以获得int: parse code parse code parse code i = 3 然后在我的JavaScript中,我可以将变量“I”用于某些函数: code for my function r = 30 / i 然后r值等于10,这不是直接的,因为它们是单独的进程,通常在不共享内存或状态的单独计算机上。您在问题中没有给出太多的上下文,因此我假设您在Web

是否有某种方法可以检索使用Python脚本创建的变量并在JavaScript脚本中使用它

例如,我使用Python解析XML以获得int:

parse code parse code parse code
i = 3
然后在我的JavaScript中,我可以将变量“I”用于某些函数:

code for my function
r = 30 / i 

然后r值等于10,这不是直接的,因为它们是单独的进程,通常在不共享内存或状态的单独计算机上。您在问题中没有给出太多的上下文,因此我假设您在Web服务器中运行python,并在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中的适当位置包含它

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

  • 让Javascript向服务器发出另一个HTTP(ajax)请求,然后服务器将返回一个JSON字符串和数据

  • 你可以用Django来做这件事,但我感觉你没有用Django。。。