lla*_*s48 2 javascript python ajax
我是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);
}
});
Run Code Online (Sandbox Code Playgroud)
test.py
#!/usr/bin/python
print("Hello World")
x = 2
return x
Run Code Online (Sandbox Code Playgroud)
请求成功,因为它在内部成功.响应是python代码而不是2.感谢您的帮助!
您必须使用所谓的应用程序服务器来在Python中提供HTTP请求.看这一个或尝试使用一些轻量级的Web框架,比如瓶.
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()
Run Code Online (Sandbox Code Playgroud)
然后你必须通过以下方式启动服务器:
python app.py
Run Code Online (Sandbox Code Playgroud)
默认情况下,它将开始localhost:3000.因此,您必须url将JS代码更改为http://localhost:3000/test.py.
UPD:另请注意,列出的Web服务器尚未准备好生产.要构建生产就绪配置,您可以使用uWSGI + nginx绑定之类的东西.
| 归档时间: |
|
| 查看次数: |
12297 次 |
| 最近记录: |