OctoberCMS 会话无法推送
OctoberCMS Session unable to push
我正在使用此线程创建 OctoberCMS 会话 https://octobercms.com/docs/services/session,我正在尝试推送我的会话,但它不起作用。这是我的代码(尝试)。
<a href="javascript:void(0)" data-request="{{ __SELF__ }}::onSessionCreate">Create Sessions</a>
public function onSessionCreate(){
$token = 'my token';
$array = array(
'id' => '500',
'name'=>'sdfsd',
'surname' => 'zf'
);
\Session::put('user.token', $token);
\Session::push('user.persons', $array);
$sessionData = \Session::get('user');
echo '<pre>';
print_r($sessionData);
exit;
}
正如您在我上面的代码中看到的,我有 Create Session
按钮,每次点击时,我都想推送我的 person
会话。但是当我打印我的 session
, print_r($sessionData);
我一直得到与数组相同的响应..
Array
(
[token] => my token
[persons] => Array
(
[0] => Array
(
[id] => 500
[name] => sdfsd
[surname] => zf
)
)
)
有人可以指导我为什么无法推送我的会话数组吗?
嗯,问题是您的代码是 stopping execution in middle of the workflow
。
当您使用 sessions
时,您需要让请求完成而不是 exiting in between
。
Working Demo
你的代码部分
function onSessionCreate(){
$token = 'my token';
$array = array(
'id' => '500',
'name'=>'name',
'surname' => 'surname'
);
\Session::put('user.token', $token);
\Session::push('user.persons', $array);
return 'ok';
}
function onGetSession() {
$sessionData = \Session::get('user');
return $sessionData;
}
您的模板部分
<div class="container">
<a href="javascript:void(0)" data-request="onSessionCreate">Create Sessions</a> <br/>
<a href="javascript:void(0)" data-request="onGetSession">Get Sessions</a>
</div>
Result - click on below GIF to watch it in high quality.
如有疑问请评论。
我正在使用此线程创建 OctoberCMS 会话 https://octobercms.com/docs/services/session,我正在尝试推送我的会话,但它不起作用。这是我的代码(尝试)。
<a href="javascript:void(0)" data-request="{{ __SELF__ }}::onSessionCreate">Create Sessions</a>
public function onSessionCreate(){
$token = 'my token';
$array = array(
'id' => '500',
'name'=>'sdfsd',
'surname' => 'zf'
);
\Session::put('user.token', $token);
\Session::push('user.persons', $array);
$sessionData = \Session::get('user');
echo '<pre>';
print_r($sessionData);
exit;
}
正如您在我上面的代码中看到的,我有 Create Session
按钮,每次点击时,我都想推送我的 person
会话。但是当我打印我的 session
, print_r($sessionData);
我一直得到与数组相同的响应..
Array
(
[token] => my token
[persons] => Array
(
[0] => Array
(
[id] => 500
[name] => sdfsd
[surname] => zf
)
)
)
有人可以指导我为什么无法推送我的会话数组吗?
嗯,问题是您的代码是 stopping execution in middle of the workflow
。
当您使用 sessions
时,您需要让请求完成而不是 exiting in between
。
Working Demo
你的代码部分
function onSessionCreate(){
$token = 'my token';
$array = array(
'id' => '500',
'name'=>'name',
'surname' => 'surname'
);
\Session::put('user.token', $token);
\Session::push('user.persons', $array);
return 'ok';
}
function onGetSession() {
$sessionData = \Session::get('user');
return $sessionData;
}
您的模板部分
<div class="container">
<a href="javascript:void(0)" data-request="onSessionCreate">Create Sessions</a> <br/>
<a href="javascript:void(0)" data-request="onGetSession">Get Sessions</a>
</div>
Result - click on below GIF to watch it in high quality.
如有疑问请评论。