如何运行ajax请求处理程序龙卷风

时间:2012-11-16 16:51:38

标签: python tornado

我有一个处理程序不起作用,但它应该适用于ajax需要方向。

样品:

from tornado.web import RequestHandler

class MyHandler(RequestHandler):

    def get(self):
        self.write("ok!")

如果不是MyHandler == Ajax请求,则重定向“/”??

谢谢......

2 个答案:

答案 0 :(得分:2)

如此;您可以使用装饰器。创建

  

decorators.py

添加is_ajax函数;

# decorators.py
def is_ajax(method):

    @wraps(method)
    def wrapper(self, *args, **kwargs):
        if "X-Requested-With" in self.request.headers:
            if self.request.headers['X-Requested-With'] == "XMLHttpRequest":
                return method(self, *args, **kwargs)

        else:                                                                                                                                                                 
            self.redirect("/")                                                     

    return wrapper 

from tornado.web import RequestHandler
from decorators import is_ajax


class MyHandler(RequestHandler):

    @is_ajax # is_ajax decorators.
    def get(self):
        self.write("ok!")

答案 1 :(得分:1)

看看这个:这个应该更容易理解:

https://github.com/zhanglongqi/TornadoAJAXSample