2013-05-15 189 views
1

我試圖發送一些數據到一個JSON對象,然後到一個cookie。但當我試圖解析它時,我收到了這個錯誤:「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); 
} 

而這正是我試圖創建的cookie代碼:

$("#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

你確定沒有其他cookie設置!你真的需要添加其他邏輯! – 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

AKA,找到getCookie方法並使用它來獲取值。 MDN是一個好看的地方:https://developer.mozilla.org/en-US/docs/DOM/document.cookie – epascarello