可以说我已经用表单编写了一个简单的html页面。表单具有3个输入字段,用户可以填写并按下“提交”按钮。是否有可能从html中获取3个输入字段的值,在jquery中使用诸如ajax之类的内容并执行python脚本,同时将这些表单值作为变量发送给该脚本?
在我所读到的关于这个主题的所有地方,指南总是使用Flask返回python脚本中的html代码。问题是我已经有html了,我只需要这种形式来触发python脚本,然后在按下按钮后让用户知道脚本已执行。我真的很讨厌认为我需要再次用python编写标记!
这样可能吗?
答案 0 :(得分:0)
由@Zak提供:
由于您要求在HTML
页内完成此操作的方法,因此我正在回答此问题。我觉得没有必要提及随之而来的严重警告和隐患..我相信您比我更了解.py
脚本的安全性:-)
我将使用.ajax()
库中的jQuery
函数。只要脚本位于可公开访问的html目录中,这将允许您调用Python
脚本。...这就是我告诉您注意安全注意事项的部分。 ..
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<input type="button" id='script' name="scriptbutton" value=" Run Script " onclick="goPython()">
<script src="http://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>
<script>
function goPython(){
$.ajax({
url: "MYSCRIPT.py",
context: document.body
}).done(function() {
alert('finished python script');;
});
}
</script>
</body>
</html>
此外..值得注意的是,您的脚本将必须具有www-data
用户的适当权限才能运行它... chmod
和/否则可能需要使用chown
。