tornado服务器未通过self.write返回响应
我有一个简单的 Tornado 服务器,运行方式是这样的:
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();
});
我真搞不懂为什么返回的数据是空的。即使用 Firebug 也显示响应是空的(不过 HTTP 状态是 200)。有人知道这是为什么吗??
1 个回答
4
我终于搞明白问题出在哪里了:我的应用没有遵循“同源策略”。所以当我发送ajax请求时,引用来源的端口和我的tornado服务器不一样。结果,服务器自然就没有返回响应!