url中参数加密

最近在做url带参数跳转页面,发现url地址栏会显示请求的参数,用的是ajax中的post方式,但是貌似没有自动进行加密,这里找到一个解决方案,可以对url中的参数进行加密,在从url中获取参数时直接解密即可。具体实现方式如下:

比如我需要请求的url未加密的地址为:


加密后的地址栏为:


实现加密方法:

                    var c = "house_id="+house_id+"&customer_id="+customer_id+"&house_address="+house_address;
                    var d = encodeURIComponent(c);
                    var urlOpen = "addorder.html?"+d;
实现解密的函数如下:

	//格式化url中的参数
	function parseQueryString(url){
		var arr;
		var name,value;
		var url = decodeURIComponent(url);
		var str = url.split("?")[1];    //通过?得到一个数组,取?后面的参数
		var items = str.split("&");    //分割成数组

		for(var i=0; i<items.length; i++){
			arr = items[i].split("=");    //["key0", "0"]
			var name = arr[0];
			var value = arr[1];
			this[name] = value;
		}
	}
获得解密后的参数:

    var urlPara = new parseQueryString(window.location.search);
    var customer_id = urlPara.customer_id;
知识拓展:

window.location.search: 获得url中?后的字符串

encodeURIComponent: 对字符串进行加密

decodeURIComponent: 对字符串进行解密

split:

定义和用法

split() 方法用于把一个字符串分割成字符串数组。

语法

stringObject.split(separator,howmany)
参数 描述
separator 必需。字符串或正则表达式,从该参数指定的地方分割 stringObject。
howmany 可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。
<script type="text/javascript">

var str="How are you doing today?"

document.write(str.split(" ") + "<br />")
document.write(str.split("") + "<br />")
document.write(str.split(" ",3))

</script>

输出:

How,are,you,doing,today?
H,o,w, ,a,r,e, ,y,o,u, ,d,o,i,n,g, ,t,o,d,a,y,?
How,are,you




评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值