[英]Run python script by clicking button in javascript
What I want is run python script just click on the button in the html page and show the python code result on my page. 我想要的是运行python脚本,只需单击html页面中的按钮,然后在我的页面上显示python代码结果。
Because it's just a small project, so I don't want to be overkill learning Django or other web frames even though I know it will work. 因为这只是一个小项目,所以即使我知道它可以工作,我也不想过分学习Django或其他网络框架。
I made some searches, ajax seems the right solution for me, but I don't know how to execute python code by ajax. 我进行了一些搜索,ajax似乎是我的正确解决方案,但我不知道如何通过ajax执行python代码。 I know I can get some string back via ajax using following code:
我知道我可以使用以下代码通过ajax返回一些字符串:
function loadXMLDoc()
{
var xmlhttp;
xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","test1.txt",true);
xmlhttp.send();
}
Thanks in advance for anyone who can help. 预先感谢任何可以提供帮助的人。
To extend @Liongold's comment, The full workflow goes like this: 为了扩展@Liongold的评论,完整的工作流程如下:
Either: 要么:
OR 要么
I ran into a similar problem, and after searching for several hours, this is how i solved it. 我遇到了类似的问题,经过几个小时的搜索,这就是我解决的方法。 Assuming that the html file and the python file are the same folder.
假设html文件和python文件是同一文件夹。
<script> function runScript() { var request = new XMLHttpRequest(); request.onreadystatechange = function() { if (request.readyState === 4) { if (request.status === 200) { alert('Successful .... ' + request.responseText); } else { alert('Something went wrong, status was ' + request.status); } } }; request.open('POST', 'test.py', true); request.send(null); return false; }; document.getElementById('script-button').onclick = runScript; </script>
This goes to your html file ----------------------------- <button type="button" id="script-button"> add this line at the top of your python file --------------------------------------------- test.py ------------ #!C:\\Python34\\python.exe -u print("Testing 123") add this directive to httpd.conf (Apache) ----------------------------------------- # "C:/xampp/cgi-bin" should be changed to whatever your ScriptAliased # CGI directory exists, if you have that configured. # <Directory "C:/xampp/<path to your project on the web server>"> AllowOverride All Options Indexes FollowSymLinks Includes ExecCGI AddHandler cgi-script .py .pyc Order allow,deny Allow from all Require all granted </Directory>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.