使用vanilla JS在本地服务器上使用AJAX Javascript请求触发Python脚本

使用vanilla JS在本地服务器上使用AJAX Javascript请求触发Python脚本,javascript,python,html,ajax,Javascript,Python,Html,Ajax,我有一个使用Python的SimpleHTTPServer运行的本地主机环境,服务于端口8080 我的项目由一个HTML文件、一个python脚本和一个Javascript(香草)脚本组成 我希望采用的方法如下: 在HTML中单击按钮 按钮触发Javascript AJAX请求 AJAX请求运行Python脚本 Python脚本生成JSON并将其返回到Javascript 我的JS如下所示: var-json; 函数触发器(){ var xhttp=newXMLHttpRequest();

我有一个使用Python的SimpleHTTPServer运行的本地主机环境,服务于端口8080

我的项目由一个HTML文件、一个python脚本和一个Javascript(香草)脚本组成

我希望采用的方法如下:

  • 在HTML中单击按钮
  • 按钮触发Javascript AJAX请求
  • AJAX请求运行Python脚本
  • Python脚本生成JSON并将其返回到Javascript
我的JS如下所示:

var-json;
函数触发器(){
var xhttp=newXMLHttpRequest();
xhttp.onreadystatechange=函数(){
if(this.readyState==4&&this.status==200){
json=xhttp.responseText;
log(json);
}
};
xhttp.open(“GET”、“/request.py”、true);
xhttp.send();

}
您需要更改行:
xhttp.open(“GET”,“/request.py”,true)
xhttp.open(“GET”http://localhost:3333/“,对)<代码>
是在python文件中定义的,我假设python web服务器在端口3333上运行

如果您正在使用Flask并使用定义路由,例如:
@app.route(“/endpoint”)
, 请求应该如下所示:
xhttp.open(“GET”http://localhost:3333/endpoint“,对)

仅用于文件内容。如果要执行脚本并返回输出,则需要


请注意,这两个模块都已合并到python 3中。

您可以使用SocketServer而不是默认服务器。将处理程序添加到SocketServer。使用要运行的实际命令执行POST,而不是GET。处理程序可以检查post请求并运行所需的脚本。

向python服务器添加自定义脚本。