首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Laravel会话数据被重写

Laravel会话数据被重写
EN

Stack Overflow用户
提问于 2019-05-14 23:46:51
回答 1查看 51关注 0票数 1

我有个奇怪的情况发生了。下面是我的代码:

public function getHomepage(Request $request){
    $data['testimonials'] = $this->getTestimonials();
    session()->put('location', 'north_america');
    \debugbar()->info('UPDATED SESSION');
    session()->save();
    return view('site.index')->with('data', $data);
}

public function getGlobalPage(Request $request){
    $data['testimonials'] = $this->getTestimonials();
    if(session()->has('location')){
        session()->forget('location');
    }
    session()->put('location', 'global');
    session()->save();
    return view('site.global')->with('data', $data);
}

public function getFeaturesPage(Request $request){
    //\debugbar()->info($request);
    //echo session()->get('location');
    return view('site.features')->with('data', []);
}

下面是发生的事情。当我转到“主页”时,"location“的会话变量返回为"north_america”。这很好。

如果我从“主页”页面移到“全局”页面,"location“的会话变量返回为"global”。这也很好。

如果我随后从“全局”页面转到“功能”页面,则"location“的会话变量返回为"north_america”。它没有被设置为null或其他什么,它似乎被重写了。这怎么会发生呢?

以下是路由:

Route::get('/', ['as' => 'site.home', 'uses' => 'Site\SiteController@getHomepage']);
Route::get('features', ['as' => 'site.features', 'uses' => 'Site\SiteController@getFeaturesPage']);
Route::get('global', ['as' => 'site.global', 'uses' => 'Site\SiteController@getGlobalPage']);
EN

回答 1

Stack Overflow用户

发布于 2019-05-15 03:37:02

我想通了。当浏览器试图获取丢失的图像时,它接收到图像的302重定向。这是在浏览器页面没有移动的情况下更改会话变量的路由。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56134232

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档