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.
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.
Tags und Links javascript json momentjs safari dhtmlx