位置:海鸟网 > IT > JavaScript >

js保存当前路径(cookies记录)

曾经做了一个取消订单的功能。这个功能在个人中心里面有,在订单的详细页面也有。按照正常的思路,这两块都可以提交到相同的action去处理,但是返回的页面是不一样的,都是返回到当前页面就可以了。

简单地说,就是在个人中心页面,该客户点击取消订单,提交到某个action,进行数据库的操作,将一张表中的字段值改变,然后重新返回到个人中心页面,只是那里的“取消”按钮变成了灰色的“已取消”就OK了,而在订单的详细页面,也是相同的,提交到相同的acion,但是返回页面不是个人中心页面,而是订单的详细页面。

这时候可以考虑用保存当前路径,写到cookie中,在acion中获取到该路径,通过get/set方法,只需要在<result></result>中写上该路径的el表达式就行了。

代码如下:


<script type="text/javascript">
function saveUrlAndGo(url, form) {
document.cookie = "returnUrl=" + escape(location.pathname + location.search);
if (form) {
form.action = url;
form.submit();
} else {
location.href = url;
}
}
</script>


js保存当前路径(cookies记录)

因此只要在action中配置好returnUrl,就可以很方便地解决这个问题,而不必写两个action了。