页面之间的数据传送,以及注意的问题;

两个页面之间的跳转,有时候需要些参数;比如这边input框输入了什么东西,跳转的页面需要接受这些参数,这是今天所讲的需求。

1,那么我们该怎么做了?

 if(isURL(text)){
                var tx=escape(text)
                window.open(`/black?ifrUrl=${tx}`);
                return false;
            }

比如这里获取到了一个数据text,我们要把它传入新打开的页面black.html中,写法上面已经有了就是简单的添加一个?就行了;那么这边该怎么接受了;

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

这是black这边的接收方式,其实这个函数只是个辅助工具,有很多这样封装的方法;window.location.search是获取到 ifrUrl=${tx}的js提供的方法;函数只是个正则

获取到里面的tx而已;这里大家应该都明白了,但是还有一个东西  var tx=escape(text)      return unescape(r[2]); 这是转码防止乱码的东西,你如果不用,你传过去的中文有可能乱码;

不信你可以试一试,我看w3c上面比较提倡 decodeURI() 和 decodeURIComponent()来代替它,但是我用了没有用;

这个下来还要试试;

原文地址:https://www.cnblogs.com/manu-yyj/p/10114656.html