传值被截掉怎么办?

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));


阿波罗的战车
浏览 553回答 1
1回答

守着星空守着你

地址里#为特殊字符,默认参数获取时候会忽略#后面的内容,进行一次url转码,浏览器默认会还会转解码#处理,所以数据会被截断。在处理时候对字符串进行两次url转码,接到参数值后进行2次解码即可。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript