2015-02-02 5 views
1

Предположим, что я установил локальный сервер, введя python -m SimpleHTTPServer в командную строку. В моем каталоге есть этот index.html файл, который является HTML-формой, которая получает имя от пользователя:Взаимодействие между Javascript и Python

<!DOCTYPE html> 
<html> 
<body> 
<p>Enter names in the fields, then click "Submit" to submit the form:</p> 
<form id="frm1"> 
First name: <input type="text" name="fname"><br> 
Last name: <input type="text" name="lname"><br><br> 
<input type="button" onclick="myFunction()" value="Submit"> 
</form> 

<script> 
function myFunction() { 
    document.getElementById("frm1").submit(); 
} 
</script> 

</body> 
</html> 

В том же каталоге есть файл Python, который должен получить имя входа из JavaScript. Предполагается, что он сделает какой-то анализ и, возможно, вернет новые значения позже.

Я хотел бы знать, как можно передать текстовый ввод в скрипт Python.

ответ

1

Для этого вы не использовали бы SimpleHTTPServer. Используйте flask в простейшем случае и Django в большем. Я предполагаю, что вы новичок в таких вещах, хотя, может быть, придерживаться фляги в течение нескольких недель, Django может быть немного подавляющим, когда вы начинаете.

@app.route('/', methods=['POST', 'GET']) 
def index(): 
    if request.method == 'POST': 
     # Do stuff 
    return render_template('index.html') 
2

Основная структура, HTML и Javascript работает в клиенте, и питон (SimpleHTTPServer) бежит в сервере.

Так что я думаю, что вам нужно форму в вашем HTML, который будет POST имя пользователя в программе питон сервера.

Вот пример питона сервера: http://www.acmesystems.it/python_httpserver А вот пример формы: http://www.w3schools.com/html/html_forms.asp. Атрибут должен быть правильно установлен для запуска программы python.

Смежные вопросы