Javascript 在我的HTML页面和python脚本之间传输数据

Javascript 在我的HTML页面和python脚本之间传输数据,javascript,python,html,jupyter-notebook,Javascript,Python,Html,Jupyter Notebook,我有一个非常简单的测试HTML页面,它有一个简单的下拉菜单: <!DOCTYPE html> <html> <head> </head> <body> <select id="mySelect" onchange="copy();"> <option value="">Select a person:</option> <option value="Value of m1" >m1<

我有一个非常简单的测试HTML页面,它有一个简单的下拉菜单:

<!DOCTYPE html>
<html>
<head>
</head>
<body>
<select id="mySelect" onchange="copy();">
<option value="">Select a person:</option>
<option value="Value of m1" >m1</option>
<option value="Value of m2" >m2</option>
<option value="Value of m3" >m3</option>
 <option value="Value of m4" >m4</option>
</select>
<br>
<br>
<p>The value of your selected choice is: </p>
<div id="label"></div>
function copy() 
{
    var selected_value = document.getElementById("mySelect").value
    document.getElementById("label").innerHTML = selected_value
}
</script>
</body>
</html>

选择一个人:
m1
平方米
m3
m4


所选选项的值为:

函数副本() { var selected_value=document.getElementById(“mySelect”).value document.getElementById(“标签”).innerHTML=所选值 }
现在,我想将选择的值转移到python脚本中。我的python脚本有一个函数,它使用传递的值作为参数来提供JSON文件。我希望传递该值,然后在选择某个内容时运行脚本以生成JSON文件。这只是为了测试,但我的最后一个HTML页面将有多个类似于此的下拉列表,每个下拉列表将一个值传递给我的python,该值将用作参数。一切都是使用本地主机在本地完成的。任何帮助都将不胜感激

这有点棘手。 您必须使用表单将数据发送到PHPWeb服务器。 然后使用shell_exec($command)运行带有参数的Python脚本

您的PHP脚本应该如下所示:

<?php
$input = $_GET['mySelect'];
//sanitize and check the input

$cmd = escapeshellcmd('/usr/custom/test.py -p ' . $input);
//escape the command

$output = shell_exec($cmd);
//run the script

echo $output;
?>

对用户输入进行清理和检查非常重要否则攻击者很容易访问您的服务器

请参阅更多:

来自php.net的注释

当发生错误或程序生成>无输出时,此函数都可以返回NULL。使用此功能无法检测执行失败。>当需要访问程序退出代码时,应使用exec()


当PHP在安全模式下运行时,此函数被禁用


这就是HTML页面的表单,javascript在浏览器中执行,您的python代码处于一个单独的过程中。通常,您会运行HTTP服务器并使用HTTP请求在网站和python服务器端之间通信。常见的框架有,或者更多。没有带有指定
操作的
表单
标记
属性,因此此下拉列表值无法提交到服务器端。此外,
选择
标记应具有
名称
属性。问题是指
Python
而不是
PHP
。他可以使用PHP运行Python,无法直接从bowser获取用户输入。他可以打开一个套接字并监听,直到用户通过js发送一些数据,但通过php更容易