сервер торнадо не возвращает ответ с self.write - PullRequest
1 голос
/ 30 июля 2010

У меня есть простой сервер торнадо, работающий так:

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, которая вызывает этот код торнадо так:

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

Для жизнимне, я не понимаю, почему данные (ответ) пустые.Даже firebug показывает пустой ответ (хотя http статус 200).У кого-нибудь есть подсказка ??

1 Ответ

4 голосов
/ 31 июля 2010

Я наконец понял, что не так: мое приложение не следовало политике '1001 * того же домена . Поэтому, когда отправлялся запрос ajax, заголовок реферера был с другого порта, чем мой сервер торнадо. Естественно, сервер не дал ответ!

...