我正在编写一个node.js应用程序。我正在尝试对浏览器地址栏中显示的url进行编码。举个例子:http:/www.abcdefghjs.com?q=This%20is%20good
Chrome在地址栏中显示url,其编码如下或高于url。
http:/www.abcdefghjs.com?q=This%20is%20goodIE 11 & FireFox不显示%20的空格,地址栏中的url如下所示:
http:/www.abcdefghjs.com?q=This is good对于IE11和火狐来说,任何类型的帮助都可以解决这个问题。
注意:我已经尝试过node.js函数encodeURIComponent()和encodeURI()。但是不能在IE11和FireFox中工作
发布于 2019-11-21 22:43:30
它是否真的影响了您的应用程序?可能是Firefox只是以未编码的方式向您显示,但实际上发送的请求是经过编码的。
另外,您是如何导航到URL的?你是在用JS设置它,还是只是点击了一个链接?
编辑:从快速的谷歌搜索,对于Firefox来说,当URL已经编码时,它在地址栏中显示为解码。如果它还没有编码,它将显示为编码。
发布于 2019-11-22 10:58:49
正如chrispytoes所说,这是一种设计上的浏览器行为,我们对此无能为力。此外,我们还可以使用Fiddler来跟踪url请求。正如我们在检查器中看到的,IE实际上发送了编码的请求,尽管它在地址栏中显示为未编码:

https://stackoverflow.com/questions/58976570
复制相似问题