通过浏览器地址传输参数

      最近在公司做node的项目,菜鸟新入门,就遇到了难题,从restful api拿到的数据怎么从一个页面传递到另一个页面。最终还是解决了,贴一下方法。

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

http://blog.moxiaonai.cn/?post=1

==>  1

但是遇到了问题;

比如这样的地址:

http://blog.moxiaonai.cn/#pages/hello.html?post=1

 拿到的参数是null,反复尝试了半天,才发现是因为地址里#的关系,导致window.location.search拿不到数据。经过改造,最后还是顺利拿到了数据。

function getQueryString(name) {
    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
    var url = window.location.href;
    var params = url.substr(url.indexOf("?"));
    var r = params.substr(1).match(reg);
    if (r != null) return unescape(r[2]); return null;

}

记一下,希望对出现问题的朋友所有帮助!

未经允许不得转载:莫小奈博客 » 通过浏览器地址传输参数

评论 0

评论前必须登录!

登陆 注册