最近在写公司HR微信公众号,其中某个模块需要A.html传递一个参数Data给B.html,然后B.html通过参数Data发送Ajax。整理一下搜寻到方法;

方法一:
通过location给页面传递数据;附上代码。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>页面A</title>
    </head>
    <body>
        <div style="width:100px;height:100px;background: #f00;" onclick="dd('xyd')"></div>    
    </body>
    <script>
        function dd(elm){
            var GOUrl="GO.html?cs="+elm;
            location.href=GOUrl;
        }
    </script>
</html>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>页面B</title>
    </head>
    <body>
        <h1>一个有梦想的咸鸭蛋</h1>
    </body>
    <script>
        var locationUrl=location.href
        var shuju=window.location.href.split("=")[1];
        console.log(shuju);
    </script>
</html>

方法二 正则 (原博主强烈推荐)

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <h1>一个有梦想的咸鸭蛋</h1>
    </body>
    <script>
    function GetQueryString(name)
    {
         var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
         var r = window.location.search.substr(1).match(reg);
         if(r!=null){
             return  unescape(r[2])
         }else{
             return null
         };
    }
    //    console.log(GetQueryString("参数名称1"));
    //    console.log(GetQueryString("参数名称2"));
    //    console.log(GetQueryString("参数名称3"));
    //是否有参数
    var myurl=GetQueryString("cs");
    if(myurl !=null && myurl.toString().length>1)
    {
        console.log(GetQueryString("cs"));
    }
    </script>
</html>

通过web缓存一样可以达到这样的效果,不确定这样是否可以,就不附上代码了

[原博主链接]

这位博主写的也很详细


有梦想的咸鸭蛋
10 声望1 粉丝

既然是咸鸭蛋,那就做一个富得流油的咸鸭蛋。