代码之家  ›  专栏  ›  技术社区  ›  IgorGanapolsky

tornado服务器未返回带有self.write的响应

  •  1
  • IgorGanapolsky  · 技术社区  · 14 年前

    import json
    import suds
    from suds.client import Client
    import tornado.httpserver
    import tornado.ioloop
    import tornado.web
    class MainHandler(tornado.web.RequestHandler):
    
        def get(self):
            url = "http://xx.xxx.xx.xxx/Service.asmx?WSDL"
            client = Client(url)
            resultCount = client.service.MyMethod()
            self.write(json.dumps({'result_count':resultCount})) 
    
    application = tornado.web.Application([
        (r"/", MainHandler),
    ])
    
    if __name__ == "__main__":
        http_server = tornado.httpserver.HTTPServer(application)
        http_server.listen(6969)
        tornado.ioloop.IOLoop.instance().start()
    

    现在,我有一个jquery函数,它像这样调用tornado代码:

     $.get("http://localhost:6969",
                function(data){
                    alert(data);
                    $('#article-counter').empty().append(data).show();
                });
    

    1 回复  |  直到 14 年前
        1
  •  4
  •   IgorGanapolsky    14 年前

    我终于发现了问题所在:我的应用程序没有遵循 “政策。因此,当发送ajax请求时,referer头来自与我的tornado服务器不同的端口。服务器自然不会返回响应!