在反应应用中的位置更改之前解码网址

时间:2018-04-11 14:31:58

标签: javascript reactjs react-router

嘿伙计们能帮我解决下一个问题吗?例如,我将其粘贴到浏览器地址字符串后,我的网址就像site.com/post?comments=1,2,3,4一样,我的应用打开并且网址解码为site.com/post?comments=1%2C2%2C3%2C4,如何删除网址中的%2C并将其保存为原始版本方式,反之亦然,如果有人打开site.com/post?comments=1%2C2%2C3%2C4的网址,将其解码为site.com/post?comments=1,2,3,4?我知道我可以使用方法lice decodeURIComponent,但我不知道在哪个时刻以及在哪个时刻准确应用它。我正在使用react和react-router。有什么想法吗?

2 个答案:

答案 0 :(得分:2)

您可以使用decodeURIComponent进行解码,encodeURIComponent和编码。要查看结果,请运行以下代码段:



console.log(decodeURIComponent(`site.com/post?comments=1%2C2%2C3%2C4`));
console.log(encodeURIComponent(`site.com/post?comments=1,2,3,4`));




答案 1 :(得分:0)

您看到的%2是由于您的网址中的“,”,对于编码和解码,您可以使用库https://www.npmjs.com/package/base-64

var base64 = require('base-64');
var bytes = site.com/post?comments=1,2,3,4
var encoded = base64.encode(bytes);
console.log(encoded);