从javascrip执行python脚本

2024-05-19 21:55:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我是Python的新手。我正在开发一个web应用程序,并试图从js脚本调用python脚本。我正在使用ajax调用.py脚本,如下所示,但我只是不断地获取响应中返回的代码。为了简单起见,我减少了python脚本中的计算量——甚至变量x也没有返回到js文件。

在js函数中

  return $.ajax({
    type: 'GET',
    url: 'test.py',

    success: function(response) {
      console.log(response);
    },
    error: function(response) {
      return console.error(response);
    }
  });

测试.py

#!/usr/bin/python

print("Hello World")

x = 2
return x

请求成功是因为它在success中移动。响应是python代码,而不是2。 谢谢你的帮助!


Tags: 文件代码py脚本web应用程序returnresponse
1条回答
网友
1楼 · 发布于 2024-05-19 21:55:31

在Python中,必须使用所谓的应用服务器来服务HTTP请求。看看这个one或者尝试使用一些轻量级的web框架,比如Flask

Flask中最简单的web应用程序如下所示(例如,将其放到app.py文件中):

from flask import Flask
app = Flask(__name__)

@app.route("/test.py")  # consider to use more elegant URL in your JS
def get_x():
    x = 2
    return x

if __name__ == "__main__":
    # here is starting of the development HTTP server
    app.run()

然后,必须通过执行以下操作来启动服务器:

python app.py

默认情况下,它将从localhost:3000开始。因此,您必须将JS代码中的url更改为http://localhost:3000/test.py

UPD:还请注意,列出的web服务器尚未准备好投入生产。要构建生产就绪配置,可以使用uWSGI+nginx绑定之类的方法。

相关问题 更多 >