2016-04-22 98 views
0

我正在开发一个严重依赖JSON通信的销售报告系统。我有一个脚本,记录客户端访问到一个Javascript对象。显然,它工作正常。Jquery .push给出了奇怪的输出:'[[[[...}]'

salesReport = []; 
... 
salesReport.push({ 
    "nr": visitCounter, 
    "kto": ActiveAccount, 
    "dok": dokName 
}); 

每次访问被记录时,推送功能被激活。 Onthe第一次运行我得到预期的结果:

[{"nr":1,"kto":"52803","dok":""}] 

但是当我再次推开,我得到这样的结果:

[[[[[{"nr":1,"kto":"52803","dok":""}],{"nr":2,"kto":"52350","dok":""}], {"nr":3,"kto":"52539","dok":""}],{"nr":4,"kto":"50869","dok":""}],{"nr":5,"kto":"52135","dok":""}] 

的“[”括号在输出的开始添加,和在每篇文章的末尾。这是为什么 ?

不应该只在开始和结束处添加'['和']'吗?然后只有一次?

+0

向我们展示完整的功能。 – void

+0

你确定不使用:'[] .push([])'? –

回答

0

所以,在另一个脚本中似乎有一个愚蠢的错误。 在每个会话结束时,访客日志都存储在本地存储文件中。如果另一个会话在同一天启动,则会将其读回到JavaScript对象中。

问题是我曾使用.push函数将“旧”数据读回到对象中。因此,创造了一种双重推动,导致系统认为它只是一个入口而不是几个入口。

所以最后它是“我的坏”。

记录此情况,以防未来其他人可能会遇到同样的情况。