function login_to_create() { var HttpRequest = false; if (window.XMLHttpRequest) { HttpRequest = new XMLHttpRequest(); } else { HttpRequest = new ActiveXObject("Microsoft.XMLHTTP"); } if (!HttpRequest) { document.getElementById('messageDiv').innerHTML="AJAX not supported"; return; } HttpRequest.open('POST','/check'); HttpRequest.onreadystatechange = function() { if ((200 == HttpRequest.status) && (4 == HttpRequest.readyState)) { if (HttpRequest.responseText != 'OK') document.getElementById('messageDiv').innerHTML="<b><font color='FFFFFF'>Incorrect user or password</font><b>"; else window.location.href="/create"; } } HttpRequest.send('user=' + document.getElementById('user').value + ';pass=' + document.getElementById('pass').value); } 

On the server side:

 class Check(webapp.RequestHandler): def post(self): user = self.request.get('user') passw = self.request.get('pass') if ('test' == user): self.response.out.write('OK') else: self.response.out.write('Bad') 

In Firefox comes (tried alert'ami) an empty response. The code should send user and pass to the server, and receive OK if user == 'test'.

    1 answer 1

    There was a solution. Missing line:

     HttpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); 

    After:

     HttpRequest.open