MDN wants to learn about developers like you: https://qsurvey.mozilla.com/s3/MDN-dev-survey

Message

URIError: malformed URI sequence (Firefox)
URIError: URI malformed (Chrome)

Type d'erreur

URIError

Quel est le problème ?

Il y a eu une erreur lors de l'encodage ou du décodage de l'URI. Un argument fourni à decodeURI, encodeURI, encodeURIComponent ou à decodeURIComponent n'était pas valide et la fonction concernée n'a pas pu encoder ou décoder la valeur correctement.

Exemples

Encodage

L'encodage permet de remplacer certains caractères par une, deux, trois voire quatre séquences d'échappement qui représente l'encodage UTF-8 du caractère. Une exception URIError sera levée si on tente d'encoder un caractère surrogate qui ne fait pas partie d'une paire de codets :

encodeURI('\uD800');
// "URIError: malformed URI sequence"

encodeURI('\uDFFF');
// "URIError: malformed URI sequence"

En revanche, si on dispose de la paire de codets :

encodeURI('\uD800\uDFFF');
// "%F0%90%8F%BF"

Décodage

Le décodage permet de remplacer chaque séquence d'échappement dans le composant encodé par le caractère qu'elle représente. S'il n'existe aucun caractère correspondant, une exception sera déclenchée :

decodeURIComponent('%E0%A4%A');
// "URIError: malformed URI sequence"

Avec la valeur d'entrée correcte, on a généralement quelque chose qui ressemble à :

decodeURIComponent('JavaScript_%D1%88%D0%B5%D0%BB%D0%BB%D1%8B');
// "JavaScript_шеллы"

Voir aussi

Étiquettes et contributeurs liés au document

Étiquettes : 
 Contributeurs à cette page : SphinxKnight
 Dernière mise à jour par : SphinxKnight,