Tengo algunos problemas para que funcione la comunicación AJAX utilizando el marco de Bottle. Esta es la primera vez que uso AJAX, por lo que es probable que tenga los conceptos básicos equivocados. Con suerte, un gurú de Bottle/AJAX puede señalar a este novato en la dirección correcta. Aquí está el código que estoy usando:Formulario de envío de AJAX usando Bottle (Python)
#!/usr/bin/env python
from bottle import route, request, run, get
# Form constructor route
@route('/form')
def construct_form():
return '''
<html>
<head>
<script type="text/javascript">
function loadXMLDoc()
{
xmlhttp = new XMLHTTPRequest();
xmlhttp.onReadyStateChange = function()
{
if(xmlhttp.readyState == 4 && xmlhttp.status == 200)
{
document.getElementById("responseDiv").innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("GET", "/ajax", true);
xmlhttp.send();
}
</script>
</head>
<body>
<form>
<input name="username" type="text"/>
<input type="button" value="Submit" onclick="loadXMLDoc()"/>
</form>
<div id="responseDiv">Change this text to what you type in the box above.</div>
</body>
</html>
'''
# Server response generator
@route('/ajax', method='GET')
def ajaxtest():
inputname = request.forms.username
if inputname:
return 'You typed %s.' % (inputname)
return "You didn't type anything."
run(host = 'localhost', port = '8080')
Estoy probando en Chrome, por lo que no es necesario usar el código específico de IE, en caso de que alguien lo piense. – patrickn