2011-11-01 44 views
1

我一直對龍捲風的一個項目剛開始整合通過jQuery一些AJAX調用。我對所有這些都很新穎,所以如果有明顯的答案,請原諒我。jQuery的AJAX /龍捲風方法沒有響應

我有一個AJAX調用設置提交登錄表單。這就要求相應的龍捲風處理器和我可以看到它的工作直到一點,它應該呈現一個新頁面,此時它根本不顯示頁面。我在渲染調用之前看到日誌消息,然後什麼都沒有。沒有錯誤,它只停留在同一頁面上,什麼都不做。任何人有任何想法是什麼?非常感謝您的幫助。

下面是從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

我終於找到了答案,這通過一個朋友,我只是把它在這裏爲未來的旅客。顯然,如果你調用通過AJAX渲染頁面,你想要渲染的頁面會被加載到內存中,但實際上並沒有在瀏覽器中渲染。如果我在提供的示例中執行了「xml」跟蹤,它將返回我想要顯示的HTML文檔的未呈現文本。

在這種情況下,我必須對Javascript做一些回調,讓它知道用戶是否被授權或不在python結尾,然後使用它重定向到JavaScript中的頁面。

希望能幫助別人。