쿠키를 설정하고 가져 오는 기능이 있습니다. 로컬 호스트에서 코드를 테스트했는데 작동하는 것처럼 보입니다. 그러나 서버에 올려 놓을 때 쿠키가 작동하지 않습니다. 브라우저에서 쿠키를 확인할 수 있지만 function getCookies()
을 사용하여 읽으려고해도 작동하지 않습니다.쿠키가 읽히지 않습니다.
질문 :
- 오전 내가 잘못 쿠키를 설정?
- 브라우저에서 쿠키를 볼 수 있는데 실용적이지 않은 이유는 무엇입니까?
- 쿠키를 잘못 읽었습니까?
코드 :
<script type="text/javascript"><!--
function getCookie(c_name)
{
var i,x,y,ARRcookies=document.cookie.split(";");
alert(ARRcookies);
for (i=0;i<ARRcookies.length;i++)
{
x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
x=x.replace(/^\s+|\s+$/g,"");
if (x==c_name)
{
return unescape(y);
}
}
}
function setCookie(c_name,value,exdays)
{
var exdate=new Date();
exdate.setDate(exdate.getDate() + exdays);
var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
document.cookie=c_name + "=" + c_value;
}
function readCookie(){
alert("here");
var domain = checkCookie("domain");
var tld= checkCookie("tld");
alert(domain+" "+tld);
}
window.onload(readCookie());
// --></script>
업데이트 : readCookie 기능 내부의 경고가 값 있었어야하는 '정의되지 않은'보여줍니다. 내가 ARRcookies를 인쇄하려고하면, 설정 한 '도메인'과 'tld'를 제외한 모든 쿠키를 보여줍니다. 나는 브라우저의 쿠키 목록에 쿠키 '도메인'과 'tld'를 볼 수 있습니다.
var cookie = readCookie();
window.onload(cookie);
그래서이 :
window.onload(readCookie());
두 줄에 코드를 분할하는 경우는 쉽게 볼 수 있으며, 다음과 같이
"로드"처리기를 잘못 설정하고 있습니다. 그것은 단지'window.onload = readCookie; '여야합니다. – Pointy
또한 일반적으로 코드가 작동하지 않는 방식이나 예상보다 다르게 작동하는 방식에 대해 구체적으로 설명하는 것이 좋습니다. "작동하지 않는다"고 말하면 사람들이 당신을 도울 수 없습니다. – Pointy
@Pointy 실제로 무엇을하는지, readCookie 함수 내부의 경고는 값이어야하는 'undefined'를 보여줍니다.내가 ARRcookies를 인쇄하려고하면, 설정 한 '도메인'과 'tld'를 제외한 모든 쿠키를 보여줍니다. 나는 브라우저의 쿠키 목록에 쿠키 '도메인'과 'tld'를 볼 수 있습니다. –