jQuery AJAX / Tornado方法无响应

时间:2011-11-01 01:06:40

标签: ajax jquery tornado

我一直在研究Tornado上的一个项目,刚开始通过jQuery集成一些AJAX调用。我对这一切都很陌生,如果有明显的答案,请原谅我。

我设置了一个AJAX调用来提交登录表单。这会调用适当的Tornado处理程序,我可以看到它正在工作直到它应该呈现一个新页面,此时它根本不呈现页面。我在渲染调用之前看到了日志消息,然后什么也没看到。没有错误,它只是停留在同一页面上,什么都不做。任何人都知道怎么了?非常感谢任何帮助。

以下是Python的片段:

if auth:
            self.set_current_user(username)
            logging.info("LOGGED IN: RENDERING HOME")
            self.render("home.html") 

在jQuery方面,它也很简单:

$(document).ready(function(){
    $("form#loginform").submit(function(){
        console.log("submitting form");
        $.post("/login",{
                    email: $("#email").val(),
                    password: $("#password").val(),
                    action: "postmsg"
                }, function(xml) {
            $("#msg").empty();
            returnCall(xml);
        });
        return false;
    });
});
function returnCall(xml) {
    console.log("returned");

}

1 个答案:

答案 0 :(得分:1)

最终我通过朋友找到了答案,我只是把它放在这里给未来的旅行者。显然,如果你通过AJAX调用渲染页面,你想渲染的页面只会被加载到内存中,但实际上并没有在浏览器中呈现。如果我在提供的示例中执行了“xml”的跟踪,它将返回我想要显示的HTML文档的未呈现文本。

在这种情况下,我必须对Javascript进行某种回调,让它知道用户是否在python端被授权,然后使用它从javascript重定向到页面。

希望有人帮助。