Die Escape () -Methode codiert nicht das + -Zeichen, das als Leerzeichen auf der Serverseite interpretiert und von Formularen mit Leerzeichen in ihren Feldern generiert wird. Aufgrund dieses Mangels und der Tatsache, dass diese Funktion Nicht-ASCII-Zeichen nicht korrekt verarbeitet, sollten Sie die Verwendung von Escape () nach Möglichkeit vermeiden. Die beste Alternative ist normalerweise encodeURIComponent ().
Escape () codiert nicht: @ * / +
Die Verwendung der encodeURI () -Methode ist insofern etwas spezialisierter als die von Escape (), als sie für URIs codiert, im Gegensatz zum Querystring, der Teil einer URL ist. Verwenden Sie diese Methode, wenn Sie eine Zeichenfolge codieren müssen, die für eine Ressource verwendet werden soll, die URIs verwendet und bestimmte Zeichen benötigt, um nicht codiert zu bleiben. Beachten Sie, dass diese Methode das Zeichen 'nicht codiert, da es sich um ein gültiges Zeichen in URIs handelt.
encodeURI () codiert nicht: ~! @ # $ & * () =: / ,;? + '
Schließlich sollte in den meisten Fällen die Methode encodeURIComponent () verwendet werden, wenn eine einzelne Komponente eines URI codiert wird. Diese Methode codiert bestimmte Zeichen, die normalerweise als Sonderzeichen für URIs erkannt werden, sodass viele Komponenten enthalten sein können. Beachten Sie, dass diese Methode das Zeichen 'nicht codiert, da es sich um ein gültiges Zeichen in URIs handelt.
encodeURIComponent () codiert nicht: ~! * () '