Maison >interface Web >js tutoriel >Comment encoder correctement les chaînes d'URL en JavaScript pour les requêtes GET ?

Comment encoder correctement les chaînes d'URL en JavaScript pour les requêtes GET ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-21 01:10:11698parcourir

How Do I Properly Encode URL Strings in JavaScript for GET Requests?

Encoder les chaînes d'URL en JavaScript pour les requêtes GET

Lors de la création d'une requête GET, vous devrez peut-être encoder la chaîne d'URL pour vous assurer que toutes les caractères spéciaux sont correctement gérés. JavaScript fournit deux fonctions utiles à cet effet :

1. encodeURIComponent(str)

Cette fonction échappe des caractères spécifiques de la chaîne vers leurs séquences d'échappement codées en URI correspondantes. Ces caractères incluent des espaces, des points d'interrogation, des esperluettes et bien d'autres qui ne sont pas autorisés dans les chemins d'URL ou les requêtes.

2. encodeURI(str)

Semblable à encodeURIComponent, encodeURI échappe également aux caractères spéciaux, mais il n'encode pas les caractères réservés tels que /, ? et #. Ces caractères sont autorisés dans les chemins d'URL et les requêtes, ils ne doivent donc pas être échappés.

Dans votre exemple :

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

Pour encoder la variable myUrl, utilisez la fonction encodeURIComponent :

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

Cela échappera correctement à tous les caractères spéciaux de la chaîne myUrl, garantissant ainsi qu'elle peut être utilisée en toute sécurité dans un GET demande.

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