Maison > Questions et réponses > le corps du texte
P粉1477476372023-08-18 09:43:27
Puisque vous en avez besoin et que votre serveur le prend en charge, corrigez-le simplement à la fin
const myUrl = new URL("http://www.example.com/?"); let params = myUrl.searchParams; params.set('$param1', '60'); params.set('$param2', '100'); console.log(myUrl.toString().replace(/%24/g,"$"))
P粉9860280392023-08-18 09:07:27
Dans votre cas, la méthode $
字符被编码为%24
,因为它是URL中的保留字符。 URLSearchParams
对象的set
encode automatiquement ces caractères pour garantir que la chaîne résultante est une URL valide.
Cependant, si vous souhaitez inclure les caractères $
tels quels, vous pouvez contourner l'encodage automatique en construisant manuellement la chaîne de requête :
const myUrl = new URL("http://www.example.com/?"); let params = ['$param1=60', '$param2=100'].join('&'); myUrl.search = params; console.log(myUrl.toString()); // 输出:http://www.example.com/?$param1=60&$param2=100
Cela vous donnera le résultat souhaité, mais veuillez noter qu'il ne s'agit peut-être pas d'une URL valide selon les spécifications de l'URL, car $
est un caractère réservé. Cela peut entraîner des problèmes avec certains serveurs ou API.
Si vous contrôlez le serveur ou l'API avec lequel vous interagissez et que vous êtes sûr qu'il peut gérer les URL avec $
字符的URL,则此方法应该有效。否则,通常最安全的做法是使用URLSearchParams
caractères dans la chaîne de requête, cette méthode devrait fonctionner. Sinon, il est généralement plus sûr d'utiliser l'encodage automatique fourni par URLSearchParams
.
Veuillez confirmer si cette solution fonctionne pour vous ou si vous avez besoin d'aide supplémentaire.