Having Trouble Getting SimpleHTTPRequestHandler to respond to AJAX
Make sure your response has a send_header() with a content type. I have seen AJAX requests get confused without this. You can also try switching your POST to a GET for debugging and make sure the browser can see the content.
Here is a simple HTTP example for returning XML if you point your query or browser to 127.0.0.1/test:
import SimpleHTTPServer, SocketServerimport urlparsePORT = 80class MyHandler(SimpleHTTPServer.SimpleHTTPRequestHandler): def do_GET(self): # Parse query data & params to find out what was passed parsedParams = urlparse.urlparse(self.path) queryParsed = urlparse.parse_qs(parsedParams.query) # request is either for a file to be served up or our test if parsedParams.path == "/test": self.processMyRequest(queryParsed) else: # Default to serve up a local file SimpleHTTPServer.SimpleHTTPRequestHandler.do_GET(self); def processMyRequest(self, query): self.send_response(200) self.send_header('Content-Type', 'application/xml') self.end_headers() self.wfile.write("<?xml version='1.0'?>"); self.wfile.write("<sample>Some XML</sample>"); self.wfile.close();Handler = MyHandlerhttpd = SocketServer.TCPServer(("", PORT), Handler)print "serving at port", PORThttpd.serve_forever()