Twisted.Web y AJAX

He implementado un servicio web de juguetes en Twisted.Web:

from twisted.web import server, resource, http class RootResource(resource.Resource): def __init__(self): resource.Resource.__init__(self) self.putChild('test', TestHandler()) class TestHandler(resource.Resource): isLeaf = True def __init__(self): resource.Resource.__init__(self) def render_GET(self, request): return self.render_POST(request) def render_POST(self, request): return "hello world!" if __name__ == "__main__": import sys from twisted.internet import reactor reactor.listenTCP(8082, server.Site(RootResource())) reactor.run() 

Según rizo funciona bien:

 $ curl --url http://localhost:8082/test -v [..] < HTTP/1.1 200 OK < Date: Mon, 02 Aug 2010 11:54:35 GMT < Content-Length: 13 < Content-Type: text/html < Server: TwistedWeb/8.2.0 < hello world! 

Ahora, me gustaría llamar al servicio utilizando los métodos AJAX proporcionados por JQuery. Aquí está el código correspondiente de Java Script:

 [..] // Submit button $("#submit").click(function(e){ $.ajax({type: "POST", url: "http://localhost:8082/test", data: {}, success: function(data) { alert("Success:" + data); } }); }); [..] 

Aunque se llama a la callback de success , los data null . ¿Alguien tiene una idea de por qué?

gracias peter

No puedo reproducir el problema. He utilizado su servidor y su llamada ajax exacta con JQuery y se carga bien. El cuadro de alerta muestra “¡Éxito: hola mundo!” como se esperaba. Debes tener algo más mal.

dataType es importante, si usa dataType: ‘jsonp’ debe enviar una callback desde el servidor. Creo que debido a esto funciona en rizo y no funciona en tu navegador.