AJAX로 해당 페이지에서 COOKIE 사용하기

by 조쉬 posted Mar 26, 2021
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

PHP에선 해당 페이지에서 쿠키를 구워도, 해당 페이지에서 사용 할 수가 없다. 무슨 소리냐 하면..

SetCookie("test_cookie", "cookie1",0,"/");
print_r( $_COOKIE );

이런식으로 써도 아무것도 표시가 안된다는 소리다.

해당 페이지를 로드하면서 구워진 쿠키이기 때문에, 해당 페이지를 벗어난 후에나 다시 페이지를 로드할때 COOKIE변수를 가져오고 그제서야 사용이 가능한 것이다.

하지만 AJAX를 이용하면 PHP로 구워진 쿠키를 해당 페이지에서 가져와서 사용하는건 가능하다.

<input type="button" id="btn1" value="set cookie">
<input type="button" id="btn2" value="get cookie">

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script>
$(function(){

 $('#btn1').click( function(){
  $.ajax({  
    type: "POST",
    url: "./t35.php",
    data: "val=abc"
  });
 });

 $('#btn2').click( function(){
  $.ajax({  
    type: "POST",
    url: "./t36.php",
    success: function(msg){
     alert( msg );
    } 
  });
 });

});
</script>


t35.php

SetCookie("test_cookie", $_POST['val'],0,"/");


t36.php

print_r( $_COOKIE );


"set cookie" 버튼을 누르기 전에 "get cookie" 버튼을 누르면 아무것도 출력이 안되지만, "set cookie"버튼을 누르고 난 뒤에 "get cookie" 버튼을 누르면 "abc"가 뜨는걸 알 수 있을것이다.