网址后参数的处理

版权声明:本文为博主原创文章,未经博主允许不得转载。 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
}

猜你喜欢

转载自blog.csdn.net/zlq_CSDN/article/details/88943615