登录后跳转到登录前的页面

实现这个功能,需要记住登录前的页面地址,可以把这个地址记录在session中,也可以把这个地址当做参数传给登录页面,还可以在原来的页面弹出一个层,在这个层里写出登录页面。这里我们介绍第二种方法,也就登录页面单独写,把登录前的页面地址当做参数传递给登录页面。

在登录之前的页面,点击登录的时候,我们先获取当前页面的地址,然后进行编码,放到登录页面后面作为参数。

示例代码如下

var url=location.href;

var paraString=encodeURIComponent(url);

$("#signin-login").html("<a href='../home/login.html?paraString="+paraString +"'>登录</a>");

在跳转到login.html?paraString=xxxx之后,先取出paraString参数的值,也就是登录前的页面地址,然后,在验证用户名、密码等通过之后,让页面跳转到paraString指向的页面地址。

取出paraString参数

(function($) {

         $.getUrlParam = function(name) {

                   var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");

                   var r = window.location.search.substr(1).match(reg);

                   if(r != null) return unescape(r[2]);

                   return null;

         }

})(jQuery); //通过jquery获取url参数

var paraString=$.getUrlParam(paraString);

验证通过后的跳转(如果取不到参数,则跳转到默认页面,一般是首页)

                                                        if(paraString==null||paraString==""){

                                                                 document.location="../index.html";

                                                        }else{

                                                                 document.location = paraString;

                                                        }

其他两种方法,大家可以查资料尝试。

参考资料:http://www.oschina.net/question/241620_60139

posted @ 2017-03-06 10:43  cooldream2009  阅读(1286)  评论(1编辑  收藏  举报