我有一个问题,这个问题在这里和其他地方的互联网上已经被问了好几次*,但是我看到的答案不完整或者无效。
我想要一个JavaScript函数runPy()
,当它被调用时(比如通过浏览器中的按钮点击),将在我的服务器上执行一个名为test.py
的Python脚本。
假设test.py只是简单地创建一个文本文件并在其中写入'hello world'
Python
f = open('test.txt', 'w+')
f.write('hello world')
根据其他回答,我将以下JavaScript/jQuery函数拼凑在一起:
JavaScript
function runPy() {
$.ajax({
type:'POST',
url:'test.py',
success: function(data) {
console.log(data)
};
});
}
现在,显然这是不正确的。正如我们所预期的那样,它并没有运行Python脚本,而是将脚本的内容打印到控制台:
控制台
f = open('test.txt', 'w+')
f.write('hello world')
我该如何编辑我的JavaScript(和/或Python)以实现我想要的功能?在完美的世界中,我希望避免导入任何新的依赖项(我看到有些答案依赖于Flask或Django),但当然讨饭的人不能挑食。
此外,如果我可以贪心一点,很好的是能够将参数传递给Python脚本,甚至使用JavaScript调用Python脚本中的特定函数,并将结果传递回客户端JavaScript。
*类似问题
从JS调用Python函数
如何从JavaScript调用Python脚本?
从JavaScript函数运行Python脚本