2014-05-12 2 views
0

Я пытаюсь выполнить очень простую задачу здесь ... добавление двух чисел, введенных на HTML-страницу. Результат должен исходить из скрипта python. Это нужно сделать с помощью AJAX. Поэтому я создал одну страницу с javscript для Ajax вызова, а также:Добавление двух чисел с использованием AJAX с скриптом python

<!DOCTYPE html> 
<html lang="en"> 
<head> 
<script> 
var req = new XMLHttpRequest(); 
function askServer() { 
    var number1 = document.getElementById("number1").value; 
    var number2 = document.getElementById("number2").value; 
    var dataToSend = "?number1="+number1 + "&number2="+number2; 
    req.open("GET","myScript.py",dataToSend,true); 
    req.onreadystatechange = handleServerResponse; 
    req.send(); 
    document.getElementById("result").innerHTML = "The request has been sent."; 
} 
function handleServerResponse() {  
    if((req.readyState == 4) && (req.status == 200)) { 
     var result = req.responseText; 
     document.getElementById("result").innerHTML = "The answer is : " + result + "."; 
    } 
} 
</script> 
</head> 
<body> 
<p>Enter two numbers: 
<input id="number1" type="number"> 
<input id="number2" type="number"> 
</p> 
<p>To ask the server top add them, without refreshing the page, click this button:   <button onclick="askServer()">Ask the Server</button></p> 
</div> 
<p id="result"></p> 
</body> 
</html> 

мне нужна помощь со скриптом питона. Я знаю, что просто потребуются два параметра в строке запроса; добавьте их и верните.

Say Я создал файл .py со следующим утверждением

return "Hi". 

Полный текст «возврат„HI!“» Возвращается в качестве результата. Я просто начинающий питон.

+0

какой сервер установка вы используете? – Daniel

ответ

0

Эта задача может быть выполнена просто, если вы используете веб-фреймворк.

Вот огромный список веб Python каркасов

https://wiki.python.org/moin/WebFrameworks

Использование флягу - http://flask.pocoo.org/

from flask import Flask, request 

app = Flask(__name__) 

@app.route('/myScript.py') 
def view_add_numbers(): 
    number_one = request.args.get('number1', '') 
    number_two = request.args.get('number2', '') 
    if number_one and number_two: 
     return '%s' % (int(number_one) + int(number_two)) 
    else: 
     return 'Fail' 

if __name__ == '__main__': 
    app.run() 

Вы можете создать лучший URL и передать number1 и number2 другим способом. Прочтите документы.

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