2011-07-21 107 views
0

我的客戶發現當他們點擊刪除時什麼都沒有發生,但是如果他們再次出現,他們會收到'id'不存在的錯誤了。Kohana 3中的控制器似乎無法正常工作,但已在後臺

我覺得很難相信,因爲它實際上是離開了網頁,然後被重定向回到帖子。

視圖中的鏈接:

<h4>Current Logo Image <span class='del'> 
(<?= HTML::anchor("playlist/imgdelete/$playlist->id/$logo->type", 'delete'); ?>) 
</span></h4> 

控制器過程:

public function action_imgdelete($id, $type) 
{ 
    DB::delete('images')->where('playlist_id', '=', $id) 
         ->where('type', '=', $type)->execute(); 
    Message::success('Image deleted'); 
    Request::current()->redirect("playlist/edit/$id"); 
} 

有誰知道這是如何可能的?

+0

您是否擁有捕獲最初操作的頁面上的JavaScript? – random

+0

不,所以我很驚訝。因爲我會理解。 – mdskinner

+0

頁面是否被大量緩存?以前看過它,但這是當前的理論 – random

回答

1

這可能是由於Kohana和您選擇的瀏覽器之間存在雙重緩衝池緩存。

刪除操作將發生,但由於攻擊性,頁面緩存不會顯示任何更改。再次擊中將是無效的,因爲您已經執行了該操作,但沒有任何視覺註冊在您的結尾。

您可以通過將在no-cache標題標籤在您的模板解決這個問題:

<meta http-equiv="cache-control" content="no-cache" /> 

默認的緩存壽命由Kohana的設定是一分鐘:

/** 
* @var integer Default lifetime for caching, in seconds, 
*     used by [Kohana::cache]. Set by [Kohana::init] 
*/ 
public static $cache_life = 60; 

你可以調整它從系統/類/ kohana/core.php

+0

傳說!謝謝! – mdskinner

相關問題