2012-12-11 36 views
1

我正在使用jqueryMobile與backbonejs。 任務:使用電子郵件和密碼字段登錄表單。填寫表格,並重定向到相同的形式與3個環節:window.reload取回響應之前重新加載

  • 更新配置文件
  • 變化PWD
  • 註銷

問題:當註銷單擊我希望將其重定向到登陸與消息一起形成(同一頁) - 「成功註銷」。

我做了什麼: 在view.js:

$('#logoutClick').click(function() { 
     console.log("hi"); 
     this.collection = new Fan(); 
     this.collection.logoutFan(); 
     window.location.reload(true); 
    }); 
在myController的(CakePHP的的)

public function mobile_logout() { 
    $status = true; 
    $event = array(); 
    $data = array(); 

    $this->Auth->logout(); 
    $this->Session->setFlash('Successfully Logged out', 'flash_failure'); 
    $this->Session->delete('Auth.Fan'); 

    $this->set('status',$status); 
    $this->set('output',$data); 
    $this->render('/Layouts/json/mobile',false); 
} 

現在,當我在註銷點擊,頁面重定向,但該消息沒有呈現。(我想在獲取響應之前重新加載頁面)。 當我檢查鉻中的元素 - 我可以看到logout.json沒有可用的預覽(從控制器JSON響應不存在)。 我該如何解決這個問題?

回答

0

不要重新加載。使用重定向: window.location ='yourloginpage?msg = success';

+0

試過了,它不會重新加載 – z22

0

由於jQuery手機模擬一個大的網頁,你不能反駁到另一個頁面。使用:

window.location.reload(true); 

打開一個新的視圖,其中jQM再次開始工作(它下載所有頭文件等)。它的工作原理與鏈接如下:rel =「external」

如果你想讓jQM在這種情況下工作,你必須添加所有的頭文件到你的html文件中,並且你應該知道你不能反駁上一頁,因爲它被從DOM。

我做了一些不同的方法。這不完美:)嘗試使用$.mobile.changePage("./newpage.html)重定向到另一頁。在這個新頁面中添加事件pageinit並重定向回到開始頁面。

相關問題