浅谈获取url传递的参数值的几种方式

以下内容是在开发中本人经常使用的方式,现总结如下:

jsp页面中:       //el表达式 获取请求参数

var id = ${param.id}; 

var id = <%=request.getParameter("id")%>

                

html页面中:   //使用js 获取参数值

function getQueryVariable(variable) {    //variable为url参数的key
var query = window.location.search.substring(1); //获取url中"?"符后的字串,截取?后的字符串
var vars = query.split("&");  //字符串按照&拆分
for(var i = 0; i < vars.length; i++) {
var pair = vars[i].split("=");  //获取每一个参数
if(pair[0] == variable) {
return pair[1];   //获取参数值
}
}
return(false);
}

//调用getQueryVariable(variable)   eg:获取token 值
var t = getQueryVariable("token");

alert(t);

                或者正则表达式实现:

                function GetQueryString(name) {
                    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
                    var r = window.location.search.substr(1).match(reg);
                            if (r != null)
                        return decodeURI(r[2]); 
                                return null;
                            }

                    调用:var id = GetQueryString(“id”);

H5的本地存储: // localStorage 、sessionStorage 方法

localStorage(本地存储),可以长期存储数据,没有时间限制,一天,一年,两年甚至更长,数据都可以使用。

sessionStorage(会话存储),只有在浏览器被关闭之前使用,创建另一个页面时同意可以使用,关闭浏览器之后数据就会消失。
使用方法:
localStorage.setItem(“key”,“value”)//存储
localStorage.getItem(key)//按key进行取值
localStorage.valueOf( )//获取全部值
localStorage.removeItem(key)//删除单个值
localStorage.clear()//删除全部数据
localStorage.length//获得数据的数量

localStorage.key(N)//获得第N个数据的key值

ps:  sessionStorage和localStorage用法相同

注意: localStorage只能存储字符串的数据,对于数组或对象却不能直接存储。

解决方案:通过JSON对象提供的parse和stringify将其他数据类型转化成字符串,再存储到 localStorage中就可以了

eg:  localStorage.setItem("list", JSON.stringify(list));  //将list数组存入 localStorage

       var list = localStorage.getItem("list");   //获取list

       var obj =JSON.parse(list);    //将json字符串解析成数组对象 obj
 

你可能感兴趣的:(Web前端)