我成功对url参数进行了编码和解码,但是解码后如何获取参数?我将所有查询字符串编码到参数中的原因只是为了防止用户更改地址栏上的参数。
例如
页面A
function fnlink()
{
param1 = encodeURIComponent("INSCODE=91&NAME=LEE&EMAIL=abc");
url = "/home/test/test2.jsp?"+param1;
location.href= url;
}
B页
网址:http://localhost:9080/home/test/test2.jsp?INSCODE%3D91%26NAME%3DLEE%26EMAIL%3Dabc
最佳答案
您不应使用 encodeURIComponent
对整个参数字符串 "INSCODE=91&NAME=LEE&EMAIL=abc"
进行编码.
每个参数应单独编码。 使用 Javascript 函数 like this在查询字符串中添加参数:
/**
* Add a URL parameter
* @param {url} string url
* @param {param} string the key to set
* @param {value} string value
*/
var addParam = function(url, param, value) {
param = encodeURIComponent(param);
var a = document.createElement('a');
param += (value ? "=" + encodeURIComponent(value) : "");
a.href = url;
a.search += (a.search ? "&" : "") + param;
return a.href;
}
关于java - url编解码参数和读取参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42627470/