当我在数据库中添加/编辑记录时,我遇到了有关浏览器缓存的问题。数据库中的数据已更改,但视图中未更改。我必须在浏览器中按F5刷新该页面并显示更新的数据。
请指导我如何解决这个问题,谢谢。
抱歉,我忘了告诉你们,在我的申请中有两部分。
这是我在前面部分的相关代码。
在控制器
中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>
答案 0 :(得分:1)
如果您想要即时更新内容,我认为您正在寻找in place editing
您可以查看为您做到这一点的this extension
Especially this部分。
答案 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");
每次查看加载时,它都会重新读取页面并且不会保留任何缓存。