Maison >interface Web >js tutoriel >Comment encoder correctement les URL en JavaScript à l'aide de « encodeURIComponent » et « encodeURI » ?

Comment encoder correctement les URL en JavaScript à l'aide de « encodeURIComponent » et « encodeURI » ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-20 04:24:08633parcourir

How to Properly Encode URLs in JavaScript Using `encodeURIComponent` and `encodeURI`?

Encodage des URL en JavaScript : un guide complet

L'encodage des URL joue un rôle crucial dans le développement JavaScript, garantissant que les caractères spéciaux et les symboles réservés sont représenté en toute sécurité dans les chaînes GET.

Encodage des caractères pour GET Chaînes

Considérons l'exemple suivant :

var myUrl = "http://example.com/index.html?param=1&anotherParam=2";
var myOtherUrl = "http://example.com/index.html?url=" + myUrl;

Dans ce code, la variable myUrl est destinée à être codée avant d'être ajoutée à la variable myAutreUrl. Pour y parvenir, JavaScript fournit deux fonctions intégrées :

encodeURIComponent(str)

Cette fonction encode chaque caractère individuel dans la chaîne fournie. Son utilisation est recommandée lorsque l'URL sera utilisée comme composant d'une chaîne de requête ou dans la soumission de données d'un formulaire.

encodeURI(str)

Cette fonction encode la chaîne entière, la traitant efficacement comme une seule unité. Il est généralement utilisé pour encoder des URL entières.

Exemple d'utilisation

Dans l'exemple donné, pour encoder correctement la variable myUrl, considérez ce qui suit :

var myOtherUrl = "http://example.com/index.html?url=" + encodeURIComponent(myUrl);

En utilisant encodeURIComponent, tous les caractères potentiellement problématiques, tels que les espaces, les esperluettes et les symboles spéciaux, seront convertis en leur coffre-fort. équivalents.

Considérations supplémentaires

  • Lors de l'encodage des URL, il est important de préserver l'intention originale de la chaîne. Par exemple, le codage des espaces à l'aide du signe plus ( ) est plus représentatif sémantiquement que l'utilisation de la séquence d'échappement.
  • Le double codage doit être évité car il peut conduire à des résultats inattendus.
  • Un codage correct garantit compatibilité avec différents navigateurs et serveurs, évitant ainsi les problèmes potentiels liés à l'analyse des URL.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn