2017-08-23 77 views
1

在Chrome,Firefox,Opera中測試。JSON.stringify在不同的URL上給出不同的結果

  1. 打開URL https://www.patro.cz/
  2. 打開JS控制檯,並寫上:JSON.stringify([])
  3. 輸出應該是:"[]"

enter image description here

問題是...

  1. 打開URL https://www.patro.cz/kategorie/male-domaci-spotrebice
  2. 打開JS控制檯,並寫:JSON.stringify([])
  3. 輸出應該是:"[]"""[]""

enter image description here

當我試圖重新創建原始對象這樣:JSON.parse(JSON.stringify([]))第一個URL是一個數組[]這是正確的,但在第二個它是一個字符串"[]"

我的問題是如何解決這個問題。我想在兩個URL上獲得一個數組(正確的結果)。這是瀏覽器中的一些錯誤嗎?

謝謝你們

+0

@Derek朕會功夫你可以把第二個網址的截圖發給我嗎? – mspiderv

+0

我想我做錯了什麼。第二個鏈接沒有返回'「[]」',但是'JSON.stringify'沒有被覆蓋。這很奇怪。 –

回答

1

這似乎是問題是,你的網頁是使用prototype.js 1.6,這是自10年前,它打亂了你的頁面的對象。

的問題是,增加的Prototype.js到.toJSONArray.prototype是非常有問題的(.toJSON指示JSON.stringify如何序列化對象實例。)刪除方法,它應該工作的罰款。

delete Array.prototype.toJSON; 
JSON.stringify([]); 

獲取儘快擺脫庫成爲可能。

相關問題