我有一个问题已经在这里和互联网上的其他地方被问过多次*,但我看到的答案不完整或无效。
我想要一个 JavaScript 函数runPy(),在被调用时(在浏览器中,例如通过单击按钮),将在我的服务器中执行一个 Python 脚本,我们将其称为test.py.
假设 test.py 只是设计用于创建一个文本文件并在其中写入“hello world”
Python
f = open('test.txt', 'w+')
f.write('hello world')
Run Code Online (Sandbox Code Playgroud)
根据其他答案,我拼凑了以下 JavaScript/jQuery 函数:
JavaScript
function runPy() {
$.ajax({
type:'POST',
url:'test.py',
success: function(data) {
console.log(data)
};
});
}
Run Code Online (Sandbox Code Playgroud)
现在看来,这当然是不正确的。正如人们所预料的那样,它不是运行 Python 脚本,而是将脚本的内容打印到控制台:
安慰
f = open('test.txt', 'w+')
f.write('hello world')
Run Code Online (Sandbox Code Playgroud)
我将如何编辑 JavaScript(和/或 Python)来实现我想要的功能?在完美的世界中,我想避免导入任何新的依赖项(我已经看到了一些依赖于 Flask 或 Django 的答案),但乞丐当然不能成为选择者。
另外,如果我允许自己变得贪婪,那么能够将参数传递给 Python 脚本,甚至使用 JavaScript 调用 Python 脚本中的特定函数,并将结果传回给 Python 脚本,那就太好了客户端 JavaScript。
*类似问题
从 JS 调用 python 函数
如何从 javascript 调用 python 脚本?
从 JavaScript 函数运行 …