5

ハンドラーが機能しませんが、ajax で動作する必要があります。

サンプル:

from tornado.web import RequestHandler

class MyHandler(RequestHandler):

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

MyHandler == Ajax リクエストでない場合は、「/」をリダイレクトしますか??

ありがとうございました...

4

2 に答える 2

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!")
于 2012-11-16T16:53:19.457 に答える
1

これをチェックしてください:これはより理解しやすいはずです:

https://github.com/zhanglongqi/TornadoAJAXSample

于 2015-04-08T13:52:10.200 に答える