반응형
스크립트 에러 중, getCookie is not defined가 발생하였습니다.
자바스크립트 에러 해결하기 생각보다 귀찮습니다...ㅜㅜ
getCookie 함수가 분명 있는데 없다고 하니까요.
모르면 몇날몇일 해맬 수 있지만 간단히 해결하는 방법을 알려드리겠습니다.
원인
저의 자바스크립트 상의 getCookie코드입니다.
자세히 보시면 return 값에 unescape를 사용하고 있는 부분이 있습니다.
이 unescape가 문제가 되어 getCookie를 읽지 못하는 현상입니다.
unescape는 escape로 이스케이핑 된 문자열을 정상적인 문자열로 되돌려주는 역활을 합니다.
MDN Web Docs에서 보시면 unescape는 웹 표준에서 이미 제거되어 권장하고 있지 않습니다.
이를 사용하기 위해서는 대체 코드를 사용해야합니다.
반응형
해결방법
문구에서 나와있듯이 unescape 대신 웹 표준에서 권장하는 decodeURI를 사용해야합니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
function getCookie(Name) {
var search = Name + "=";
if (document.cookie.length > 0) { // 쿠키가 설정되어 있다면
offset = document.cookie.indexOf(search);
if (offset != -1) { // 쿠키가 존재하면
offset += search.length;
end = document.cookie.indexOf(";", offset);
// 쿠키 값의 마지막 위치 인덱스 번호 설정
if (end == -1)
end = document.cookie.length;
//return unescape(document.cookie.substring(offset, end));
return decodeURI(document.cookie.substring(offset, end));
}
}
return "";
}
|
cs |
return 값을 decodeURI로 사용하면 에러를 해결할 수가 있습니다!
반응형
'Error' 카테고리의 다른 글
[Error] more than one row returned by a subquery used as an expression 해결방법 (0) | 2022.10.27 |
---|---|
[Error] Uncaught SyntaxError: Unexpected token ' ' 해결 방법 (1) | 2022.10.25 |
[Error] Cannot rollback when autoCommit is enabled 해결 방법 (0) | 2022.09.21 |
[Error] :GET http://localhost:8080/favicon.ico 404 해결방법 (0) | 2022.08.17 |
[Error] Communications link failure (0) | 2022.07.05 |
댓글