我有一个网络应用程序,带有一些下拉列表。
其中一个列表包含一些带有重音符号的参数,例如:"Bonjour/COUCOU SPéCIALISTE/AB12345"
因此,当我选择它并进行研究时,我最终得到以下网址:
abcdefgh.com/someFunction?way=null&motive=bonjour%2Fcoucou+spécialiste%2FAB12345
在我的函数中,我有:
var somethingPercentage = getSomethingPercentage(
decodeURIComponent(queryParams.way),
decodeURIComponent(queryParams.motive)
);
并且,在配置文件中,我制作了如下匹配参数:
"bonjour/coucou+spécialiste/ab12345": 0.01
结果,我的通话很糟糕。 但是当我选择一些不带重音的参数时,就没有这个问题,结果也很好。
如果参数有一些空格,问题是相同的。
为什么会发生这种行为?
最佳答案
我刚刚发现。
我刚刚放了
logger.info(decodeURIComponent(queryParams.motive));
在以下代码之后:
var somethingPercentage = getSomethingPercentage(
decodeURIComponent(queryParams.way),
decodeURIComponent(queryParams.motive));
现在,我已经找到了匹配的必要值。
在我的例子中,这不是“é”的问题,而是空间的问题。
关于javascript - 使用 "é"等字符进行 EncodeURIComponent/DecodeURIComponent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42766949/