Как получить html-контент, сгенерированный php на сервере python?

Я пытаюсь реализовать простое веб-приложение. Пользователь отправляет текст, и он изменяется по некоторым правилам и отображается под формой. Я пытаюсь сделать это, настроив веб-сервер через BaseHTTPServer.BaseHTTPRequestHandlerон держит index.html, В index.html, есть функция js, которая анализирует текст, отправленный пользователем в программу php. Это программа php, которая выполняет преобразование и возвращает результаты. Подробный код выглядит следующим образом:

# server.py
class IndexHandler(BaseHTTPServer.BaseHTTPRequestHandler):
def do_GET(self):
fname,ext = os.path.splitext(self.path)
if ext in (".html", ".css", ".js", ".xml"):
with open('index.html') as f:
self.send_response(200)
self.send_header('Content-type', types_map[ext])
self.end_headers()
self.wfile.write(f.read())
return
def main():
port = 8888
server_address = ('', port)
httpd = BaseHTTPServer.HTTPServer(server_address, IndexHandler)
print 'Server starting..'
httpd.serve_forever()

if __name__ == "__main__":
main()


// index.html

<head>
<script>
function get_transform()
{
var source = document.forms.input.source.value;
var theUrl = 'transform.php?source='+source;


var xmlHttp = new XMLHttpRequest();
xmlHttp.open("GET", theUrl, false);
xmlHttp.send();

var response = xmlHttp.responseText;
}
</head>

<body>
<form id='input' onsubmit='transform(); return false;'>
<div class="input-group">
<input type="text" id='source'>&nbsp;
<button type="submit">Transform</button>
</div>
</form>
</body>

//transform.php
$source=$_GET["source"];
echo(transform($source));

Однако сейчас xmlHttp.send(); всегда получаю пустой ответ. Не могли бы вы сказать мне, в чем причина и как мне с этим бороться? Спасибо!

Редактировать:
Кажется, причина в том, что я отфильтровал запрос, содержащий ‘.php’ if ext in (".html", ".css", ".js", ".xml"):, Но я понятия не имею, как изменить do_GET функция. Как мне переписать это?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]