我正在使用AJAX post
请求将session
值设置为Laravel 5.4
:
$.post('http://www.example.com/api/setSessionValue', {
"data": data
})
public function setSessionValue() {
$data = Input::get('data');
// ...
Session::put('value', $data);
}
但是我的值永远不会在session
中设置,或者设置为非持久性。
我无法理解为什么因为我已经在我的Laravel项目中以相同的方式使用会话,并且它工作正常。
修改
我忘了在开发模式(artisan serve
)中指定它,它的工作非常好。
答案 0 :(得分:0)
从外观上看,您最有可能将API路线存储在 routes / api.php 文件中。该文件使用一组不保持状态的中间件(不使用StartSession中间件),因为设计的API应该是无状态的。
如果必须,请尝试将API路线移至 routes / web.php 文件中以查看其是否有效。如果是,您可以将以下中间件添加到 app / http / kernel.php
中的API中间件组 \Illuminate\Session\Middleware\StartSession::class,