2017-03-02 34 views
1

我的應用程序有一個刪除註冊功能,在那裏我有一個請求發送到服務器刪除我的用戶,當然我必須從設備上刪除所有本地數據。請求和存儲清除正確完成,但在向同一用戶再次註冊之後,來自上一個會話的數據仍顯示在頁面上。禁用或空HTTP緩存Angular2

這看起來是由HTTP服務緩存造成的,如果我刪除註冊後調用ExitApp命令(),它工作正常不從以前的REG顯示數據。但是,exitApp在iOS上似乎不起作用。

所以這是一個二合一的問題,對不起。

所以,我怎麼能告訴大家,每一個原先的緩存請求,現在應該刪除HTTP服務? 或者我如何告訴iOS上的應用程序完全退出?

+0

你確定這是從http緩存和緩存不離子頁面?要驗證,請在網絡選項卡上使用chrome檢查器,並驗證對服務器的請求已完成。 – e666

+0

@ e666您可能是對的,因爲在網絡選項卡上沒有數據從服務器返回。但我確實清除了從ionViewDidEnter本地工作的頁面。我怎樣才能清除頁面緩存? – Perrier

+1

的可能的複製[適當方法,以防止在Internet Explorer(IE)Angular2 http請求緩存](http://stackoverflow.com/questions/36500804/proper-way-to-prevent-angular2-http-request-caching-in -internet-explorer-ie) – estus

回答

1

您應該使用方法setRoot清除DOM緩存,當您導航到登錄屏幕。

例子:

deleteAccount() { 
    this.navCtrl.setRoot(LoginPage); 
} 

根據離子文檔:

默認情況下,頁面緩存,並留在DOM,如果他們是從,但仍然在導航堆棧(退出的導航離開例如,推()上的頁面)。從導航堆棧中刪除時(在pop()或setRoot()上)它們被銷燬。

在這裏看到更多的細節:https://ionicframework.com/docs/v2/api/navigation/NavController/

+1

我已經使用setRoot了,所以我的問題一定是別的。 – Perrier