Préface
Lorsque nous utilisons JavaScript pour l'interaction de données, nous rencontrons souvent un problème : l'URL contient un point d'interrogation (?), ce qui peut provoquer des erreurs dans notre programme, il doit donc être traité. Cet article présentera plusieurs méthodes pour supprimer les points d'interrogation dans les URL et aidera les lecteurs à résoudre des problèmes similaires.
1. Description du problème
Habituellement, lorsque nous envoyons une requête GET au serveur, l'URL contient un point d'interrogation (?). Par exemple : http://example.com?id=1&name=Zhang San. Cette URL contient un point d'interrogation qui sépare l'URL et la chaîne de requête.
Cependant, dans certains cas, nous souhaitons supprimer le point d'interrogation, et nous devons ensuite nous en occuper. Par exemple, lorsque vous accédez à une page, vous devrez peut-être supprimer le point d'interrogation dans l'URL pour garantir le bon saut de page.
2. Solution
1. Utilisez la méthode substring() pour supprimer le point d'interrogation
C'est une méthode courante. À l'aide de la fonction de chaîne substring() de JavaScript, vous pouvez intercepter la sous-chaîne de l'URL et supprimer le point d'interrogation. Un exemple est le suivant :
let url = "http://example.com?id=1&name=张三"; let newUrl = url.substring(0, url.indexOf("?")); console.log(newUrl);
Le résultat de sortie de ce code est : "http://example.com".
Dans le code ci-dessus, nous déclarons d'abord une URL, puis utilisons la fonction substring() pour supprimer le point d'interrogation. La fonction substring() reçoit deux paramètres. Le premier paramètre est la position de début de la chaîne à intercepter et le deuxième paramètre est la position de fin de la chaîne à intercepter (à l'exclusion des caractères en position de fin).
Dans le code ci-dessus, nous utilisons la fonction indexOf() pour trouver le premier point d'interrogation apparaissant. Cette fonction renvoie la position de la sous-chaîne, ou -1 si elle n'est pas trouvée. En utilisant la fonction substring(), nous obtenons les caractères avant "?", qui est l'adresse URL avant le point d'interrogation.
2. Utilisez la méthode replace() pour supprimer le point d'interrogation
La fonction replace() est une autre méthode courante. Il remplace une sous-chaîne dans une chaîne par une autre chaîne. L'exemple est le suivant :
let url = "http://example.com?id=1&name=张三"; let newUrl = url.replace("?", ""); console.log(newUrl);
Le résultat de sortie de ce code est : "http://example.comid=1&name=Zhang San".
Dans le code ci-dessus, nous utilisons la fonction replace() pour remplacer le point d'interrogation (?) par une chaîne vide (""). Le résultat de cette méthode est la chaîne URL sans les points d’interrogation.
Cependant, cette méthode remplacera tous les points d'interrogation dans l'URL par des chaînes vides, cela peut donc provoquer des erreurs. Cette méthode ne fonctionne donc que lorsqu'il n'y a qu'un seul point d'interrogation dans l'URL.
3. Utilisez la méthode split() pour supprimer le point d'interrogation
La fonction split() peut diviser une chaîne en un tableau de chaînes et renvoyer le tableau. Lors du traitement des URL, nous pouvons utiliser la fonction split() pour séparer les points d'interrogation et prendre le premier élément. Un exemple est le suivant :
let url = "http://example.com?id=1&name=张三"; let newUrl = url.split("?")[0]; console.log(newUrl);
Le résultat de sortie de ce code est : "http://example.com".
Dans le code ci-dessus, nous utilisons la méthode split() pour diviser la chaîne en deux parties : l'URL et la chaîne de requête. Ensuite, nous supprimons la première partie, qui est l'adresse URL sans le point d'interrogation.
Résumé
Il existe plusieurs façons ci-dessus de supprimer les points d'interrogation dans les URL à l'aide de JavaScript. Lorsque nous rencontrons des problèmes lors de l'envoi de requêtes GET, il est important d'apporter des modifications pour assurer le fonctionnement normal du programme. Grâce à l’introduction de cet article, je pense que les lecteurs ont appris comment résoudre rapidement ce problème.
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!