因为js 喜欢将弱类型数据0002这样的string自己转成int.这个时候我们可以在0002前面拼接上任意一个数字,到了新页面以后在进行截取
var keys = '1'+key
subto(keys)
到了新页面以后
如下图,这里的firetaskid的值是个像abc这样的字符串,直接这样写的话会报错
查了一下是js转义的问题,如下图,转义一下就可以了
就像特殊字符需要转义一样,在利用url传递特殊字符时也有一个转义的过程
firetaskid = encodeURIComponent(firetaskid)
在这里我是用encodeURIComponent()这个函数解决的,encodeURIComponent()函数可把字符串作为 URI 组件进行编码。
该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。
其他字符(比如 :/?:@&=+$,# 这些用于分隔 URI 组件的标点符号),都是由一个或多个十六进制的转义序列替换的。
注意:encodeURIComponent()假定它的参数是 URI的一部分(比如协议、主机名、路径或查询字符串)。因此 encodeURIComponent() 函数将转义用于分隔 URI 各个部分的标点符号.
加密代码function eb(ting)
{
//传入要加密的url
//获取url参数部分
var paraString = ting.substring(ting.indexOf("?")+1,ting.length)
//将加密后的参数重新组合到url中
var rul=ting.substring(0,ting.indexOf("?")+1)+escape(paraString)
//跳转到rul页面呢
location.href=rul
}
解密代码
var urlPara = location.search//获取参数部分
urlPara=unescape(urlPara)//对参数解密
//分析参数
function getPara(paraName){
var reg = new RegExp("[&|?]"+paraName+"=([^&$]*)", "gi")
var a = reg.test(urlPara)
return a ? RegExp.$1 : ""
}
//捕获参数并进行操作
//window.onload = function(){
//var url= getPara("id")//捕获到url参数
//document.getElementById("TextBox1").value = url
//}