2013-11-24 56 views
7

我使用JSON.parse作为我的计算机上的简单数据库与LocalStorage。 它工作顺利,直到我做这个“数据库”的检查; 继承人用于输入信息的localStorage代码:'Uncaught SyntaxError:Unexpected token u'when using JSON.parse

var users = JSON.parse(localStorage.registeredUsers); 
users.push({username:name, password:userpass, connected:false}); 
localStorage.registeredUsers = JSON.stringify(users); 

,当我”,具有该检查registeredusers我得到的错误‘未捕获的SyntaxError:意外的标记U’:

var users = JSON.parse(localStorage.registeredUsers); 
     if(users[userindex].connected) 
     {.........} 

错误指向带有JSON.parse的行。 我试图找出一些类似的主题,但无法找到方法。

,我推入的localStorage的数组代码:

function regBtn(event) 
    { 
     event.preventDefault(); 
     name=document.forms["regform"]["username"].value; 
     userpass=document.forms["regform"]["password"].value; 
     localStorage.username=name; 
     localStorage.password=userpass; 
     if(!(localStorage.registeredUsers)) 
     { 
      localStorage.registeredUsers = '[]'; 
     } 
     var users = JSON.parse(localStorage.registeredUsers); 
     users.push({username:name, password:userpass, connected:false}); 
     localStorage.registeredUsers = JSON.stringify(users); 
     $('#mainContent').load('HomePage.html');   
    } 
+3

一个片段fom的具体json会在这里有所帮助... – nozzleman

+1

放在一个'console.log(localStorage.registeredUsers)'就在问题行之前,并告诉我们你得到什么...... – nnnnnn

+1

根据这个所谓的“问题(http://stackoverflow.com/a/13022566/1776367)'localStorage,registeredUsers' migth实际上未定义... – nozzleman

回答

7

尝试

var users = localStorage.registeredUsers? JSON.parse(localStorage.registeredUsers) : []; 

,或者如果你不喜欢的三元运算符,

var users=[]; 
if(localStorage.registeredUsers){ 
    users=JSON.parse(localStorage.registeredUsers); 
} 

可能有帮助

0
function setCookies(){ 
     var cookiesObjects = {}; 
     cookiesObjects.name = document.getElementById('usr').value; 
     cookiesObjects.email = document.getElementById('email').value; 
     cookiesObjects.age = document.getElementById('age').value; 

     var actualString = JSON.stringify(cookiesObjects); 


     document.cookie = "user="+ actualString; 



    } 
    function getCookies(){ 
     var nameValueArray = document.cookie.split("="); 
     var cookieObject = JSON.parse(nameValueArray[1]); 
     document.getElementById('usr').value=cookieObject.name; 
     document.getElementById('email').value=cookieObject.email; 

     document.getElementById('age').value=cookieObject.age; 



    } 
    function clearCookies(){ 
     document.getElementById('usr').value= ""; 
     document.getElementById('email').value= ""; 
     document.getElementById('age').value= ""; 
    } 
and saying Error : Uncaught SyntaxError: Unexpected token u 

我无法确定错误的原因。

相关问题