Php Laravel(4.2)中AJAX调用的重新分级会话变量

Php Laravel(4.2)中AJAX调用的重新分级会话变量,php,ajax,laravel,session,laravel-4.2,Php,Ajax,Laravel,Session,Laravel 4.2,我们使用Varnish(可能会切换到Cloudflare)来缓存页面的HTML。有时,我们希望向用户显示一条消息,该消息在会话中闪烁:session::flash('user_message','You cannot performation') 下一页加载,然后有一个AJAX(to/AJAX/message)调用来检查服务器是否有要闪存的消息。显然,页面加载将吸收闪现的消息,因此我们在BaseController中所做的是: if (Session::has('user_message') &

我们使用Varnish(可能会切换到Cloudflare)来缓存页面的HTML。有时,我们希望向用户显示一条消息,该消息在会话中闪烁:
session::flash('user_message','You cannot performation')

下一页加载,然后有一个AJAX(to
/AJAX/message
)调用来检查服务器是否有要闪存的消息。显然,页面加载将吸收闪现的消息,因此我们在BaseController中所做的是:

if (Session::has('user_message') && !str_contains(Request::getPathInfo(), '/ajax/message')) {
   Session::flash('user_message');
}
我们的AJAX调用仅说明:

$response = [];
if (Session::has('user_message')) {
  $response['user_message'] = Session::get('user_message');
}
return json_encode($response);
但是,下一次加载页面时,它将再次显示相同的消息!我尝试了很多方法(比如Session::forget('user_message')),但都没有成功。我已无计可施,无法解决本该是一项微不足道的任务。有人知道更好的方法吗?或者出了什么问题


谢谢

您的ajax调用是否有更多的代码。例如一个
模具
?另外,您确定基本控制器代码没有在ajax响应操作上运行吗?没有die,并且基本控制器确实运行,但是这就是为什么我检查路径是否包含ajax调用的URI。