2012-11-16 7 views
5

ハンドラは動作しませんが、ajax need orientationで動作するはずです。ajaxリクエストハンドラを実行する方法竜巻

サンプル:

from tornado.web import RequestHandler 

class MyHandler(RequestHandler): 

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

Ajaxリクエストはその後、 "/" リダイレクト== MyHandlerというない場合は?

はそう...

+0

多分あなたのXSRF_COOKIES原因を設定し、この問題 – pigletfly

答えて

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

なぜ ''自己場合を.request.headers.get( 'X-Requested-With')== "XMLHttpRequest": ''辞書のヒット数が少なくなります。 – koblas

関連する問題