带有龙卷风的 JSONp 请求
我想知道如何在 python 中使用龙卷风最好地处理 JSONp 对象, 最好这样做:
class BaseRequest(tornado.web.RequestHandler):
def prepare(self):
self.result = {"success": True};
def finish(self, chunk=None):
self.write(self.result);
tornado.web.RequestHandler.finish(self, chunk);
这似乎是一个坏主意,因为您认为可以在 on_finish()
中完成它,对吗?
那么,我应该像上面那样做还是应该在每个处理程序中 write()
?
I am wondering how best to handle JSONp objects using tornado in python,
is it best to do this:
class BaseRequest(tornado.web.RequestHandler):
def prepare(self):
self.result = {"success": True};
def finish(self, chunk=None):
self.write(self.result);
tornado.web.RequestHandler.finish(self, chunk);
This seems like a bad idea because you'd think you could do it in on_finish()
, right?
So, should I do it like above or should I write()
in each of my handlers?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您应该重写默认的 write 方法并执行类似以下操作(未经测试):
其中 stuff 是字典,callback 是 jsonp 回调名称。
You should override the default
write
method and do something like this (untested):where
stuff
is a dictionary andcallback
is the jsonp callback name.我在这里玩游戏有点晚了。 RequestHandler.write 函数只是在写入缓冲区上创建更多块,然后将其作为字符串刷新。
I'm a bit late on the game here. The RequestHandler.write function simply creates more chunks onto a write buffer that is later flushed out as a string.