javascript - 使用 Javascript 剥离 Base64 编码的 URL 参数

标签 javascript asp.net

我正在 .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 编码是否仍然有意义,由您决定。

引用:RFC 3986: Reserved characters

关于javascript - 使用 Javascript 剥离 Base64 编码的 URL 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3491956/

相关文章:

javascript - 使用javascript发送带有表单的单个隐藏字段

javascript - 如何使用滚动条图像?

javascript - 使用 requirejs 模块作为 es6 模块

javascript - 我可以将变量设置为未定义或将未定义作为参数传递吗?

javascript - 如何准备 grunt 来使用 app.js 准备 dist 文件夹?

c# - 使用 c# 作为 ul 列表而不是 Asp.net 菜单控件从数据表生成嵌套菜单

javascript - 寻找更好的 javascript 文本匹配评分系统

c# - 在 ASP.NET Web 窗体中更改 span 标记上的 CSS

c# - PSEXEC 通过命令提示符运行成功,但在 ASP .Net/C# 中失败

ASP.NET 自定义控件