在这里先简单说一下get提交和post提交。
本质上,它们俩没有区别,都是http请求的一种方式。但在用的时候,人为的给了一个规定,get提交是url地址栏提交,而post就是表单提交。暂且先这么理解着。下面说正事:
url地址栏传参,也就是通俗意义上的get提交方式:
- 参数正确性高。用一个URL的多个请求返回的是同样的结果,不管怎么样操作,参数不会丢失,适合放经常需要获取,放在别处又容易丢失的参数。
- 不安全。参数放在URL地址栏,也意味着用户可以随时的看到。所以又不适合放私密的信息。
- 长度限制。不同浏览器对URL地址限制可能不同,但为了所有浏览器兼容,也不能放太长的参数。
- 参数可以保留在浏览器历史记录。
- 参数只接受ASCII字符。
适合使用URL传参的几种情况:
1、参数固定,如某次登录的用户名。该用户在执行某些操作时,可以直接从URL地址获取,既不可能丢失,也不可能改变。
2、想用URL地址灵活改变页面的。(一般不可能,但是想到了就写出来了)。
为了比较安全可对URL地址信息进行的一些操作:
1、参数加密:
escape(string)//加密 不会对ASCII字符和数字和特殊字符编码。主要用于对汉字编码。
unescape()//解密
encodeURI(URIstring)//加密,对含有URL或其他编码的文本,不能对字母、数字和特殊字符编码
//对整个URL地址加密可用
encodeURIComponent() //加密,不会对ASCII字母、数字和一些特殊字符加密。
//对整个URL地址加密可用
2、参数截取
spolit()
var user=location.href.solit("do=");//以do=为界限分成两部分
var username=user[1];//do=的前半部分
var userID=user[0];//do=的后半部分
不方便放在地址栏的就用session存起来
sessionStorage.setItem("key",value); sessionStorage.getItem("key");