在回答之前,请确保您了解我的情况。
- 我有 CREATE 闪烁的 ajax 调用。
- 我有其他 ajax 调用将闪烁作为 JSON 获取。
当前正在发生的事情:我单击一个创建闪光灯的按钮。之后我运行一个ajax调用来执行:
public function actionGetAllFlashesAsJSON() {
$flashMessages = Yii::app()->user->getFlashes(true);
$returnResult = array();
foreach ($flashMessages as $key => $value) {
$newItem = array();
$newItem['message'] = $value;
$newItem['kind'] = $key;
$returnResult[]= $newItem;
}
print json_encode($returnResult);
die();
}
我的问题是,当我连续两次执行这个函数时,它仍然不断返回闪烁。但是,如果我刷新站点,它会显示错误,然后如果我再次按刷新,它就消失了。我的理论是页面刷新会导致其他类型的消息删除......但是什么?在收到上述代码中的消息后,如何强制删除这些消息?
更多背景信息:我将闪烁用作错误消息,但我希望它们在创建时出现在我的网站顶部。Flash 可能是通过 Ajax 创建的,所以我运行 javascript 来检查新消息并显示它们,但我的问题是它多次显示消息,因为在调用 getFlashes 后它们没有被删除?