nodejs处理页面跳转url及获取url后面数据

处理跳转路由

问题
    写商城项目的过程中,在主页浏览商品的时候,点击某个商品会进入其详情页面,这需要把当前所点商品的id和店铺id传入商品详情页,详情页通过此id获取具体数据。


处理方式
    主页的内容是用art-template模板渲染上去的,nodejs在传给主页商品数据的时候会把该商品的商品id和店铺id传过去在主页用模板渲染数据的时候,在跳转路由的后面加上要传的id就可以了

    即使是在页面js渲染的数据,也是在跳转的时候在后面加上想要传的id就可以了。

获取url数据

  1. 把?后面字符串截取出来
  2. 利用字符串的split()方法把字符串转为数组
  3. 遍历数组,将数组存放在对象中(?后面多条数据)

先获取到?的索引值,将后面的字符串截取出来

var href = document.location.toString();//js获取url地址
var index = href.indexOf("?")+1;//检索?首次出现的地方,取值是从0开始的
href = href.substring(index);//在href中寻找,返回?后面的字符串

使用split方法将字符串截取为一个数组

var arr = href.split('&');

创建一个对象添加id数组数据

var obj = {}
for(let i = 0; i < arr.length; i++){
//截取第一个数组=两边的两个数据成为一个新的数组
	let str1 = arr[i].split('=')[0]//得到新数组的第一个数据
	let str2 = arr[i].split('=')[1]//得到新数组的第二个数据
	obj[str1] = str2
}

打印出obj就获得想要的数据了

感觉这次项目花了挺长时间的,做出来的效果并不如人意,在刚开始写的时候写的顺序逻辑什么的没想好就开始写了,以后再写要注意一下,但是也学到了许多东西,会陆续总结一下,继续改,加油。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值