2016-04-22 94 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函數將「舊」數據讀回到對象中。因此,創造了一種雙重推動,導致系統認爲它只是一個入口而不是幾個入口。

所以最後它是「我的壞」。

記錄此情況,以防未來其他人可能會遇到同樣的情況。