我成功编码&解码url参数但是如何在解码后得到参数?我将所有查询字符串编码为参数的原因只是为了防止用户更改地址栏上的参数。
第A页
function fnlink()
{
param1 = encodeURIComponent("INSCODE=91&NAME=LEE&EMAIL=abc");
url = "/home/test/test2.jsp?"+param1;
location.href= url;
}
Page B
url:http://localhost:9080/home/test/test2.jsp?INSCODE%3D91%26NAME%3DLEE%26EMAIL%3Dabc
答案 0 :(得分:1)
您不应使用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;
}