我想为Python程序创建一个非常简单的基于HTML/AJAX的GUI.所以前端是一个HTML页面,它通过AJAX与程序通信.你能用python给我一个服务器端的最小实现SimpleHTTPServer.SimpleHTTPRequestHandler吗?
一个简单的例子是文本字段和按钮.当按下按钮时,字段的内容被发送到服务器,然后服务器发回相应的答案.我知道在Python中有很多强大的解决方案,但我想保持这个非常简单.我已经为这样的服务器找到了一些很好的例子(例如这里),但到目前为止我还没有找到真正最小的服务器.
如果你想知道我为什么要以这种方式实现GUI:我对这个应用程序的关注是在很好的布局中显示大量数据,只需要很少的交互 - 所以使用HTML + CSS似乎最方便(我已经用它来进行非交互式数据显示).
我们需要从Javascript运行python脚本.我们必须将输入String作为参数传递给python脚本,并将python输出显示在我们的网页上.
这是Python代码,这个代码在我的linux框中运行时工作正常:./sample.py 12345,给出输出12345并./sample.py显示no argument found
#!/usr/bin/env python
import os
import sys
if len(sys.argv) > 1:
output = sys.argv[1]
else:
output = "no argument found"
print "Hello World!!!"
print output
Run Code Online (Sandbox Code Playgroud)
如何从上面的python中的ajax调用中访问'param',并将该值用作参数?
使用Javascript:
$.ajax({
type: 'POST',
url: "scripts/sample.py",
data: {param: xyz}, //passing some input here
dataType: "text",
success: function(response){
output = response;
alert(output);
}
}).done(function(data){
console.log(data);
alert(data);
});
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激.
编辑
正如所建议的那样,我试图让我的代码使用CGI.
#!/Python34/python
# Import modules for CGI handling
import cgi, cgitb
# Create instance of …Run Code Online (Sandbox Code Playgroud)