2014-10-10 3 views
0

Я пытался послать небольшой кусочек JavaScript в браузере, используя метод self.write смерча:Как я могу отправить фрагмент кода javascript, используя метод self.write Tornado?

@tornado.web.asynchronous 
@tornado.gen.coroutine 
def post(self): 
    [...] #deal with arguments, db operation, and so on #async. 

    #if _auth_flag is True, then send the alert 
    if _auth_flag: 
     self.write("<script>alert('Login Successfully');</script>") 
     self.redirect("/") 

    [...] #other code 

при запуске веб-приложение, однако, оповещение не было выполнено.

MY QUESTIONG IS:

  • Почему этот код не работает правильно?

  • Если приведенный выше код не подходит, как я могу отправить одно и то же предупреждение в браузер другим способом?

ответ

0

Если вы отправляете перенаправление, остальная часть ответа игнорируется. Вам нужно либо отправить перенаправление, либо убедиться в том, что любой JS, который вам нужен, появится на следующей странице или только отправьте javascript и назначьте javascript для location.href для выполнения «перенаправления».

+0

Спасибо, но, я попытался удалить self.redirect ("/") и превратить его в location.href, как это: ' если _auth_flag: \t self.write (» ") \t self.write (" «) ' второй JS (переназначение) работала правильно, но тревога по-прежнему не работает. – streethacker