我遇到了奇怪的问题。在我做任何其他事情之前,我尝试从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中。
答案 0 :(得分:0)
我解决了。因为我打电话给两次饼干。它给了我一个错误的格式。导致问题。谢谢!