javascript实现页面跳转功能,参数怎么传递?

JavaScript010

javascript实现页面跳转功能,参数怎么传递?,第1张

1.设置url

// 设置当前urlvar list_url = '/document/order/default.php?page=' + page_nums + '&'+ $("#form1").serialize()var e_list_url = encodeURIComponent(list_url)$("#list_url").val(e_list_url)

2.传递url

var list_url = $('#list_url').val()

window.location.href='/document/order/view.php?order_id='+order_id+'&action=edit&handler=admin&list_url='+list_url

3.解析url并跳转

var list_url = '<?php echo $list_url?>'

d_list_url = decodeURIComponent(list_url)window.location.href = d_list_url

这样就能实现,参数不丢失了。主要就是页码和筛选条件。

纯js页面跳转要传复杂数据不好做,要用localStorage,这个东东在各浏览器中是不一样的。

比较好的方法就是,在跳转链接中加上一些标志参数,如对象ID之类,直接由服务器生成新页面内容或者转到新页面后由页面从服务器重新ajax取数据。

首先需要让这两个页面之间建立有关系,也就是需要在一个页面中打开另外一个页面,可以参考以下代码:

主窗口代码:

var features = {

                channelmode: 1,

                fullscreen: 1,

                location: 0,

                menubar: 0,

                scrollbars: 0,

                status: 0,

                titlebar: 0,

                toolbar: 0,

                resizable: 1

            }

var previewWin = window.open("preview.html", "展示", features, true)

在主窗口中可以通过previewWin对象来调用子窗口中的代码。

在子窗口中可以通过opener对象来访问主窗口中的代码,这样主从窗口之间就建立关系了,如果你需要在主窗口中改变子窗口中的背景可以这样做:

首先在子窗口中定义一个改变窗口背景的函数,比如 changeBg(),然后在主窗口中通过previewWin对象调用,previewWin.changeBg()即可。

function getQueryString(name) {

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

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

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

}

要获取url传过来的参数,直接调用GetQuryString即可。这个方法一般放在通用方法里里面。