【发布时间】:2017-12-12 18:41:43
【问题描述】:
我知道以前有人问过类似的问题,而且我环顾四周。
目前我正在运行一个 python 脚本来创建一个 HTML 页面(我们运行的各种应用程序的状态列表),然后我使用 nginx 在我们的一个 DNS 记录上提供内容.
由于我不想经常运行 Python 应用程序并创建大量日志,因此我决定下一个最佳选择就是拥有一个用户可以按下的 HTML 按钮——触发 Python 脚本来重新制作 HTML 文件,然后重新加载页面。
在列出我尝试过的内容之前。我只想指出,我不能使用 php 解决方案,因为运行 PHP 存在服务器问题。
首先,我尝试运行一些 AJAX POST,结果只是以文本形式显示脚本......
function postData(input) {
$.ajax({
type: "POST",
url: "/status.py",
data: { param: input },
success: callbackFunc
});
}
function callbackFunc(response) {
// do something with the response
alert(response)
}
// A $( document ).ready() block.
$( document ).ready(function() {
console.log( "ready!" );
postData("Hello world")
});
然后我尝试创建一个节点应用程序并了解到 nodejs 运行在服务器端并且不能在 HTML 中调用......哎呀。
看一下nginx配置文件
server {
listen 80;
server_name mydnsrecord.com;
charset UTF-8;
location ~ /.svn/ { deny all; }
location ~ /.git/ { deny all; }
location / {
expires -1;
alias /path/to/index/;
index index.html;
add_header "X-UA-Compatible" "IE=edge";
add_header "X-Frame-Options" "DENY";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
}
error_page 405 =200 $uri;
}
如果有人能指出我的方向或给我一些关于如何实现这一目标的提示,那就太棒了。
谢谢。
【问题讨论】:
-
Python 也运行服务器端。您的 Web 服务器是否配置为支持运行 Python 脚本?这听起来不像是一个实际的编程问题。
-
flask 或 django 可以选择吗?您需要某种服务器来监听按钮按下以对其做出反应。
标签: javascript python html nginx