Wie kann verhindert werden, dass Safari Zeichen in XHR-Anfragen implizit konvertiert?

Wie kann verhindert werden, dass Safari Zeichen in XHR-Anfragen implizit konvertiert?

Ich habe dieses Zeichen als Trennzeichen für mein Kombinationsschlüsselfeld für meine DynamoDb-Datenbank ausgewählt.

Dieses Zeichen erscheint im Browser als Teil eines Tokens zur Abfrage der nächsten Seite. (in einer Listenansicht mit endlosem Scrollen)

Chrome sendet dieses Zeichen ordnungsgemäß an das Backend (als Teil des Tokens für die Abfrage der nächsten Seite).

Safari sendet dieses Zeichen jedoch als dieses Zeichen: , was anders ist, und daher kann mein Backend es nicht erkennen.

Warum ändert der Browser das Zeichen? Ist dieses Verhalten zu erwarten? Habe ich irgendwo vergessen, einen Zeichensatz anzugeben?

Eine wahrscheinlich wichtige Erkenntnis ist, dass das Ausführen in Safari '〉' === '〉'zurückkehrt .true

was?

Antwort1

Wenn Sie mit Chrome oder einem anderen Browser arbeiten, verwenden Sie nicht die Reservierte HTML-Zeichen:

Bildbeschreibung hier eingeben

Innerhalb einer URL könnten Sie stattdessen die Hex-Notation verwenden, die für >lautet %62, oder die HTML-Entity-Notation, die lautet >. Aber das trifft wahrscheinlich nicht auf Ihren Fall zu.

Ich schlage vor, ein anderes Zeichen zu verwenden, das nicht in der obigen Liste steht.

verwandte Informationen