让Javascript执行Python脚本

让Javascript执行Python脚本,javascript,python,ajax,Javascript,Python,Ajax,我有一个问题在这里和互联网上的其他地方被问了好几次,但我看到的答案不完整或无效 我希望有一个JavaScript函数runPy(),在被调用时(例如在浏览器中,通过点击按钮),它将在我的服务器中执行一个Python脚本,我们将调用它test.py 假设test.py的设计目的只是创建一个文本文件并在其中写入“hello world” Python f=open('test.txt','w+')) f、 写(‘你好,世界’) 基于其他答案,我拼凑了以下JavaScript/jQuery函数: J

我有一个问题在这里和互联网上的其他地方被问了好几次,但我看到的答案不完整或无效

我希望有一个JavaScript函数
runPy()
,在被调用时(例如在浏览器中,通过点击按钮),它将在我的服务器中执行一个Python脚本,我们将调用它
test.py

假设test.py的设计目的只是创建一个文本文件并在其中写入“hello world”

Python

f=open('test.txt','w+'))
f、 写(‘你好,世界’)
基于其他答案,我拼凑了以下JavaScript/jQuery函数:

JavaScript

函数runPy(){
$.ajax({
类型:'POST',
url:'test.py',
成功:函数(数据){
console.log(数据)
};
});
}
这当然是错误的。正如人们所料,它不会运行Python脚本,而是将脚本的内容打印到控制台:

控制台

f=open('test.txt','w+'))
f、 写(‘你好,世界’)
我将如何编辑JavaScript(和/或Python)以实现我想要的功能?在一个完美的世界中,我希望避免导入任何新的依赖项(我已经看到了一些依赖于Flask或Django的答案),但乞丐当然不能选择

此外,如果我允许自己变得贪婪,那么也可以将参数传递给Python脚本,甚至可以使用JavaScript调用Python脚本中的特定函数,并将结果传递回客户端JavaScript,这将是非常好的

*类似问题



你走的是正确的道路

但是,这就是为什么这篇文章不起作用。除HTML文件类型外,在服务器上进行POST调用以获取静态文件(即random.js、random.css等)将打印原始文件内容。 在这个场景中,您需要在服务器端后端代码上处理这个问题。我不知道您使用的是哪种后端框架,但这里有一些文章可以帮助您做到这一点:

NodeJS:

.NET:


Java:

您可能找不到好的答案,因为您使用了错误的搜索词。如果我理解正确,那么您希望在web服务器接收到特定请求时在服务器端执行python脚本。这需要通过cgi在服务器端进行配置,或者让服务器端逻辑为某些路由执行python脚本。您可以使用向http服务器发出请求的内置程序,而不是直接访问python文件。您可以根据请求URL在服务器内执行任何python代码。您可以使用打印语句发回数据。是的,您甚至可以将参数作为http查询字符串或post数据传递。使用像Flask这样的库使它更容易。