首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >会话在使用AJAX时不持久化

会话在使用AJAX时不持久化
EN

Stack Overflow用户
提问于 2018-01-12 09:33:04
回答 1查看 964关注 0票数 0

我使用AJAX post请求来使用Laravel 5.4设置session值:

代码语言:javascript
运行
复制
$.post('http://www.example.com/api/setSessionValue', {
  "data": data
})
代码语言:javascript
运行
复制
public function setSessionValue() {
    $data = Input::get('data');
    // ...
    Session::put('value', $data);
}

但是,我的值从未在session中设置,也从未设置过,而是非持久性的。

我不明白为什么,因为我已经在我的Laravel项目中以同样的方式使用会话,而且它运行得很好。

编辑:

我忘了指定在开发模式(artisan serve)中,它运行得非常好。

EN

回答 1

Stack Overflow用户

发布于 2018-01-12 13:54:40

从外观上看,您很可能将API路由存储在routes/api.php文件中。该文件使用一组独立的中间件,这些中间件不维护状态(不使用StartSession中间件),因为API在设计上应该是无状态的。

如果必须的话,尝试将API路由移动到routes/web.php文件中,以查看它是否有效。如果是这样,您可以将以下中间件添加到app/http/kernel.php中的API中间件组中

代码语言:javascript
运行
复制
 \Illuminate\Session\Middleware\StartSession::class,
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48223245

复制
相关文章

相似问题

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