Laravel
[Laravel] Javascript에서 설정한 쿠키값 laravel에서 사용하기
이나피스
2024. 2. 21. 10:53
반응형
SPA라면 사이드바를 열고 닫는것에 문제가 없겠지만
페이지 이동이 있는 사이트의 경우 사이드바를 닫아두어도 디폴드가 열려있다면 이동시에도 열린것을 확인할수있다
이를 저장하기 위해 JS에서 'sidebar'라는 쿠키값을 설정하였다
$(document).ready(function(){
const sidebar = $('.sidebar');
const toggle = $(".toggle");
rememberCookie(sidebar);
toggle.on("click" , () =>{
if($.cookie('sidebar')==='close') {
$.cookie('sidebar', 'open', {path: '/'});
} else {
$.cookie('sidebar', 'close', {path: '/'});
}
rememberCookie(sidebar);
});
});
function rememberCookie(sidebar){
if($.cookie('sidebar')==='close') {
sidebar.addClass("close");
} else {
sidebar.removeClass("close");
}
}
이 쿠키값으로 blade view에서 값을 불러오고 싶었다
이럴땐 의외로 매우 간단하게 미들웨어에 쿠키이름만 설정 해주면된다
@app/Http/Middleware/EncryptCookies.php
<?php
namespace App\Http\Middleware;
use Illuminate\Cookie\Middleware\EncryptCookies as Middleware;
class EncryptCookies extends Middleware
{
/**
* The names of the cookies that should not be encrypted.
*
* @var array<int, string>
*/
protected $except = [
'sidebar'
];
}
설정 후 blade에서 쿠키 값을 확인할수 있다
{{ Cookie::get('sidebar'); }}
반응형