拼接字符串到url跳转页面后解析

来源:互联网 发布:沉默的螺旋 案例 知乎 编辑:程序博客网 时间:2024/06/12 18:10

什么时候需要前端页面之间互相传递信息呢?
比如说(原谅我又要用最爱的淘宝举个栗子了,哈哈):

这里写图片描述

我们在这个搜索框里面输入我们想搜索的内容,然后点击搜索,跳转页面之后会变成这个样子:

这里写图片描述

我们发现我们我们在上一个页面输入的信息被带到了跳转到的新页面里面。
比较神奇吧~~有没有magic!哈哈。开个玩笑~
这样在某些两个页面需要互相通信的时候就不用去向后台请求了。
那么问题来了,怎么实现呢?
其实很简单,在两个页面用不同的函数利用url进行字符串拼接或读取就可以了。

重点如下:

  • 要在下一个页面获取的话就要先在本页面吧把需信息先拼接到url上,这样下一个页面才能去解析。
    (这个函数稍后补上)

  • 好了,怎样来吧拿到的url里面的信息解析并把需要的内容传到相应的位置呢?

var args = getQueryStringArgs();function getQueryStringArgs () {    //取得查询字符串并去掉开头的问号               var  qs = (location.search.length>0 ? location.search.substring(1) : ""),                //location.search 获取到url问号后的所有查询字符串值,search得到的是url中query部分                //substring()返回一个从指定位置开始的指定长度的子字符串这里设置为1,是为了把url中的?号去掉                    args = {},                //保存数据的对象                    items = qs.length ? qs.split("&") : [],                //取得查询字符串中每对键值对,保存到items中                //split()将一个字符串分割为子字符串,然后将结果作为字符串数组返回这里就是把query部分以&为分割符                    item = null,                    name = null,                    value = null,                    i = 0,                                       len = items.length;                for(i = 0; i<len; i++){                    item = items[i].split("=");                    name =  decodeURIComponent(item[0]);                    value = decodeURIComponent(item[1]);                    if(name.length){                        args[name] = value;                    }                }                               return  args;            }

收尾:真是神奇的函数啊。。。

0 0
原创粉丝点击