url改写传参时‘#’号问题

一、问题描述

碰见一个url中传参的问题,多个&分开的参数中,有个参数的值中,包含了‘#’号,

结果其后的其他参数都传不到后台了。当时就考虑#号可能是url的特殊用途的字符,网上查了下,

如下:

统一资源定位符

协议://授权/路径?查询

授权部分一般是服务器的名称或IP地址,有时后面还跟一个冒号和一个端口号。它也可以包含接触服务器必须的用户名称和密码。路径部分包含等级结构的路径定义,一般来说不同部分之间以斜线(/)分隔。询问部分一般用来传送对服务器上的数据库进行动态询问时所需要的参数。完整的、带有授权部分的普通统一资源标志符语法看上去如下:协议://用户名@密码:子域名.域名.顶级域名:端口号/目录/文件名.文件后缀?参数=值#标志

统一资源标志符参考统一资源标志符参考指的是单个的(比如超文本传输协议文件中的)统一资源标志符。统一资源标志符参考分绝对参考和相对参考。 上面所描写的都是绝对的统一资源标志符参考,相对参考只包括体制特殊的部分,它参考的对象位于包含这个参考的文件的一个相对位置上。统一资源标志符参考还可以由一个统一资源标志符加上一个#符再加上上述的统一资源标志符内的一个标志点。这个标志点不是统一资源标志符的一部分,而是让用户浏览器在获得了文件后来导航用的,因此它实际上不被送到服务器。

二 、解决方法

把参数编码下即可 encodeURIComponent(value),

不能用encodeURI(),它不能把#号等特殊符号编码。

 

转载于:https://my.oschina.net/jawava/blog/38817

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值