2012-11-16 1 views
5

Ho un gestore non funziona, ma dovrebbe funzionare con ajax bisogno di orientamento.Come eseguire un gestore di richieste jax tornado

campione:

from tornado.web import RequestHandler 

class MyHandler(RequestHandler): 

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

se non MyHandler == richiesta Ajax quindi reindirizzare "/" ??

grazie ...

+0

forse il tuo XSRF_COOKIES impostazione causa questo problema – pigletfly

risposta

2

così; Decorator che puoi utilizzare. creare

decorators.py

aggiungere la funzione 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 

e

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

Perché non '' se self .request.headers.get ('X-Requested-With') == "XMLHttpRequest": '' pochi risultati nel dizionario. – koblas