JSON.stringify-Fehler für komplexes Objekt in Safari aufrufen

8

Wie gesagt, passiert dies in Safari, während es in Chrome und Firefox gut funktioniert.

Ich denke, weil das Objekt, das in json umgewandelt wurde, zwei Eigenschaften hat, die ein Momentobjekt enthalten. Ich änderte sie in Datum-Objekt und die Funktion stringify übergeben.

Das Seltsame ist, dass wenn ich probiere JSON.stringify(moment()) es funktioniert, also bin ich mir nicht sicher, wie man das debuggt und wo das Problem ist.

Hier ist ein Screenshot des Fehlers in Safari:

Bearbeiten:

Nach einiger Fehlersuche ist mir aufgefallen, dass dieser Fehler nach einem dhtmlxwindow onclose -Ereignis auftritt. Ich lade eine Teilansicht in ein dhtmlx Fenster und erzeuge dort dieses Objekt, das in eine Liste geladen wird, die in die Elternansicht initialisiert wird, bevor das Fenster geschlossen wird.

Bevor ich das Fenster schließe, mache ich JSON.stringify(parent.addedContracts) und es funktioniert gut, nachdem das onclose -Ereignis passiert ist (ich habe dort keinen Override-Code). Die Liste hat dasselbe Objekt (ich habe alle Eigenschaften überprüft), aber stringify schlägt für dieselbe Liste fehl.

Bearbeiten:

Das Erstellen des Objekts, das zur Liste hinzugefügt wird, sieht folgendermaßen aus:

%Vor%

Nach dieser Zeile ist JSON.stringify in Ordnung, aber wenn das close-Ereignis auf dem dhtmlxwindow stattfindet, ändert sich etwas und das stringify schlägt fehl.

    
Aleks 17.07.2014, 06:44
quelle

1 Antwort

1

Unabhängig von Ihrer Implementierung (und da ich ein Beispiel Ihres Codes in Safari nicht überprüfen kann, aber in Chrome fehlschlägt), sollten Sie die Verwendung von JSON in Safari in Betracht ziehen, sollten Sie einen JSON-Polyfill verwenden Ссылка

Bei zukünftigen Fragen sollten Sie uns bitte ein paar Beispiele zeigen, was nicht funktioniert. Dies wird möglicherweise nicht nur die Antwort enthüllen, die Sie gesucht haben, auch wenn es uns die Darstellung des Problems erleichtert.

    
froginvasion 06.08.2014 15:09
quelle