2013-05-15 2 views
1

일부 데이터를 JSON 개체로 보낸 다음 쿠키로 보내려고합니다. 하지만 구문 분석하려고 할 때이 오류가 발생합니다 : "SyntaxError : JSON 구문 분석 오류 : JSON 문자열을 구문 분석 할 수 없습니다". 여기 JSON 구문 분석 오류 : JSON 문자열을 구문 분석 할 수 없습니다.

코드는 오류의 원인이되는 :

function checkCookies() { 
    var message; 

    if(document.cookie) { 
     var iCookie = document.cookie.split('='); 
     console.log(iCookie); 
     var iObject = JSON.parse(iCookie[1]); 

     message = "Cookie finnes: " + iObject.word; 
    } else { 
     message = "Fant ikke cookie."; 
    } 
    $("#sectSavedWord").html(message); 
} 

을 그리고 이것은 내가 쿠키를 만들려고 해요 코드입니다 :

$("#btnSaveWords").click(function(){ 
     var finalWord = ""; 

     for (var i = 0; i < word.length; i++) { 
      finalWord += word[i]; 
     } 

     document.cookie = "info=" + JSON.stringify({"word": finalWord}) + ";expires=" + getExpireDate(7); 
     document.location = "oppgave1_2.html"; 
    }); 

사람이 여기에 올바른 방향으로 날 지점 수 ? 나는 이것을 며칠 동안 일하도록 노력했다.

+0

finalWord는 배열이 아닌 문자열이어야합니다. 알파벳이 들어있는 다른 배열을 기반으로하는 단어 배열에서 내용을 가져옵니다. (var alphabet = [ "a", "b", "c".... 등등 ..) 그래서 샘플 데이터는 "HEY!"일 수 있습니다. 또는 "LOREM IPSUM". –

+0

다른 쿠키가 설정되어 있지 않습니까? 다른 논리를 추가해야합니다! – epascarello

답변

1

귀하의 분할 값 iCookie[1] 문자열에 ;expires이있을 것이다 .. 내가이 구문을 사용했다 (또는 매우 유사한 적어도 일) 이전하고, 이전에 근무하고있다

document.cookie = "info=" + JSON.stringify({"word": finalWord}) + ";expires=" + getExpireDate(7); 

을 구문 분석 causig 문제입니다
var iCookie = document.cookie.split('='); 
    console.log(iCookie); 
    var iObject = JSON.parse(iCookie[1]); 
+1

일명, getCookie 메소드를 찾아 값을 가져 오는 데 사용하십시오. MDN은 볼 수있는 좋은 장소입니다. https://developer.mozilla.org/en-US/docs/DOM/document.cookie – epascarello