我在一个项目中有一个MVC结构,其中有一个我在调用控制器的更改下拉列表,如下所示。
Javascript代码
function getData(newSelection)//This will get called on change of dropdown
$.ajax({
type: 'POST',
url: '/controller_name/perform',
data: {
'dropDownSelection': newSelection
},
success: function(data){
//alert(data); /* always "failed" */
window.location.href=window.location;
}
});
现在,在执行动作(即名为PerformAction的方法)中,呼叫正常进行。
执行操作
/* somehow I am forming $key; trust me, its formed correct */
$cache = Zend_Registry::get("cache");
if($cache->delete($key))
echo ("success");
else
echo ("failed");//this is what always returned
exit;
但是在上面的代码之后执行的一些代码中,我正在检查缓存是否退出,然后它显示为存在。
我正在检查的代码
$cache = Zend_Registry::get("cache");
//After building $key.
//$cache->delete($key); //Here it works
$cacheResult = $cache->get($key);
if (!empty($cacheResult)) ) {
//exit("here it is coming, which I dont want for certain situation");
return $cacheResult;
}
$reslut = /* Now I am building new result as per new selection from dropdown */
$cache->set($key,$result,MEMCACHE_COMPRESSED,300);
return $result; //i want this to be returned instead of cached result
所以这就是现场。 如果我从$ cache-> delete($ key)中删除评论,我想获得使用下拉列表中的新选项构建的新结果;它将永远删除缓存,但我不想要这个。 我想知道我哪里出错或是因为AJAX?