版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zlq_CSDN/article/details/88943615
在Get请求时,传递过去的参数会跟在网址的后面,格式为:https://www.baidu.com?uername=zlq&age=20。 但是很多时候,网址后面的参数不仅仅是我们需要传递的参数,还会加一个随机数,以保证每次打开网站是,网址都不一样。
解决方法:
传递的参数以一个对象为例:
//将对象转化为字符串的方法,然后将字符串加到网址后面即可
function obj2str(obj) {
/*
{
"userName":"zlq",
"password":123456,
"t":"15294613613"
}
*/
//对时间的处理(随机数用时间戳来表示)
obj.t = new Date().getTime();
var res = [];
for(var key in obj){ //通常使用for in来遍历js对象
// res.push(key+"="+obj[key]) //[userName=zlq,password=123456]
/*
对提交参数中文的处理,使得提交的参数中不在存在中文
注意:在URL中是不可以出现中文的,如果出现中文需要对其进行转码
可以调用encodeURIComponent()方法
URL中只可以出现字母、数字、下划线、ASCII码
*/
//获取对象中值的两种方法:obj.key obj[key] //第二种通常是变量的时候来使用
res.push(encodeURIComponent(key)+"="+encodeURIComponent(obj[key]));
}
return res.join("&"); //userName=zlq&assword=123456&t=15294613613
}