var linkHref = '
http://m.home.cn/liveList/live?liveId=185&broadcasterId=692388&uskey=a81999440aa5488bb049d067a5090c1b&room=1184&chat=@TGS#355V5GBEC&title=%E5%93%84';我要把上面地址里的chat参数@TGS#355V5GBEC传给后台但是传过去后就剩下@TGS了我用下面的这种方法获取chat参数,也用了encodeURIComponent进行编码,但还是不行,这是怎么回事??function getQueryString(name, source) { var reg = new RegExp('(^|\\?|&|\\/?)' + name + '(\\/|=)(\\d+|[^&]*)(\\?|&|$)', 'i'),
source = source || window.location.search,
r = source.match(reg) if (r != null) return unescape(r[3]) return null}var chat = encodeURIComponent(getQueryString('chat',linkHref));
1 回答
守着星空守着你
TA贡献1799条经验 获得超8个赞
地址里#为特殊字符,默认参数获取时候会忽略#后面的内容,进行一次url转码,浏览器默认会还会转解码#处理,所以数据会被截断。
在处理时候对字符串进行两次url转码,接到参数值后进行2次解码即可。
添加回答
举报
0/150
提交
取消