Yii:已经添加或编辑记录但查看不更新

时间:2013-06-11 07:09:23

标签: caching yii

当我在数据库中添加/编辑记录时,我遇到了有关浏览器缓存的问题。数据库中的数据已更改,但视图中未更改。我必须在浏览器中按F5刷新该页面并显示更新的数据。

请指导我如何解决这个问题,谢谢。

抱歉,我忘了告诉你们,在我的申请中有两部分。

  1. 管理部分(后端)用于添加/编辑数据。 (没有任何问题 这部分)
  2. 向观众展示数据的前部(问题在这里!之后 在管理部分添加/编辑记录,此部分未更改。我必须刷新 页面查看更新)
  3. 这是我在前面部分的相关代码。

    在控制器

    class ProductController extends Controller
    {
      public function actionIndex()
      {    
        $products = Product::model()->getProductList(); // use findAll() method
        $this->render('index', array('products' => $products));
      }
    }
    

    在模型中

    class Product extents CActiveRecord
    {
      /*
       *
       * The other code that generated by Gii 
       *
       */
    
      public function getProductList()
      {
        return $this->findAll();
      }
    }
    

    在视图中

    <html>
    <body>
    
    <ul class="thumbnails thumbnails-product">      
      <?php foreach ($products as $product): ?>
    
        <li class="span3" style="margin-left:0px;">
          <div class="thumbnail">
            <img class="img-thumb" src="../images/<?php echo $product->PDT_IMG" />
            <?php echo CHtml::link($product->PDT_NAME, array('product/view/' . $product->PDT_ID)); ?>                       
    
            <span class="price"><?php echo $product->PDT_PRICE; ?></span>
    
          </div>            
        </li>
    
      <?php endforeach; ?>
    </ul>
    
    </body>
    </html>
    

3 个答案:

答案 0 :(得分:1)

如果您想要即时更新内容,我认为您正在寻找in place editing 您可以查看为您做到这一点的this extension Especially this部分。

enter image description here

答案 1 :(得分:0)

可能这可以帮到你: Real-time display of server push data using Server-Sent Events (SSE)

这是服务器推送技术,通过该技术我们可以在自动进行的每次更改中以及在一定时间之后获取数据。

答案 2 :(得分:0)

问题已经解决了。

我只是添加

header ("Cache-Control: no-cache, must-revalidate");
header ("Pragma: no-cache");

每次查看加载时,它都会重新读取页面并且不会保留任何缓存。