1

次のように実行されている単純な竜巻サーバーがあります。

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 です)。誰か手がかりを持っていますか??

4

1 に答える 1

4

私は最終的に何が問題なのかを突き止めました: 私のアプリは「同じドメインオリジン」ポリシーに従っていませんでした. そのため、ajax リクエストが送信されたとき、リファラー ヘッダーはトルネード サーバーとは異なるポートからのものでした。当然、サーバーは応答を返しませんでした。

于 2010-07-31T06:37:19.783 に答える