将代码作为单独的函数移动时,意外输入结束

时间:2015-08-14 09:39:38

标签: javascript jquery

我遇到了奇怪的问题。在我做任何其他事情之前,我尝试从cookie加载变量。这是部分代码

function getCookie(c_name) {
if (document.cookie.length > 0) {
    c_start = document.cookie.indexOf(c_name + "=");
    if (c_start != -1) {
        c_start = c_start + c_name.length + 1;
        c_end = document.cookie.indexOf(";", c_start);
        if (c_end == -1) {
            c_end = document.cookie.length;
        }
        return unescape(document.cookie.substring(c_start, c_end));
    }
}
return "";
}


     function loadCookies(name,assign) {
            var cookie_name = getCookie(name);
            if ( cookie_name != "" ) {
                var json_str = getCookie(cookie_name);
                assign = JSON.parse(json_str);  
            }
            else {

            }
        }

        //all main functions starts here

        $(document).ready(function() {

        alert(listCookies());

        //if ( getCookie('foodbasket') != "" ) {
        //  var json_str = getCookie('foodbasket');
        //  foodArray = JSON.parse(json_str);
        //  alert("yep");   
        //}

        loadCookies('foodbasket',foodArray);

.....
}

foodArray是我在JS文件顶部声明的全局变量。现在出现了问题。 如果我在准备文件中编写代码,那么就不会有错误。 如果我尝试将代码移到函数外部(因为我必须加载几个变量),它会给我错误:结束时意外输入。错误行是

foodArray = JSON.parse(json_str);

我非常确定我正确地将数组记录到cookie中。

1 个答案:

答案 0 :(得分:0)

我解决了。因为我打电话给两次饼干。它给了我一个错误的格式。导致问题。谢谢!