我正在 .NET 中解码我的 URL 参数,如 this article 中所述. 在某些情况下,我需要在 Javascript 中获取 URL 参数。但问题在于某些参数值以“=”结尾。
示例:?itemID=Jj1TI9KmB74=&cat=1
Javascript 函数:
function getUrlVars() {
var vars = [], hash;
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for (var i = 0; i < hashes.length; i++) {
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;}
我知道我的问题出在 for 循环中的 split-function 上,但我不知道如何解决它。 我也用过 jsuri为此,但问题仍然存在。 我可以用 Javascript 解决这个问题还是需要重新考虑我的加密方法?
最佳答案
在 URL 中包含未编码的 =
是无效的。要正确执行此操作,您必须在 base64 编码数据上另外应用 encodeURIComponent()
。
届时 base64 编码是否仍然有意义,由您决定。
关于javascript - 使用 Javascript 剥离 Base64 编码的 URL 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3491956/