如何获取window.location中URL问号?之后的查询参数字符串
解决方法
直接获取URL中问号之后参数部分的原生API是 window.location.search,该属性返回结果默认带开头的问号,你可以调用slice(1)去掉前缀,直接得到你需要的纯参数内容。
适配你现有代码的实现方案
JS代码修改如下:
// 拿到纯参数内容,示例场景下返回 filename=tryjs_loc_href const queryParams = window.location.search.slice(1) document.getElementById("demo").innerHTML = "URL的参数部分为:<br>" + queryParams;
HTML部分无需调整,保留原有写法即可:
<span id="demo"></span>
补充说明:如果当前URL没有?及后续参数,
window.location.search会返回空字符串,调用slice(1)也不会报错,返回结果仍为空,天然兼容无参数场景。
进阶:直接读取单个参数的值
如果后续需要直接取某个参数的取值,不需要手动拆分字符串,可以用内置的URLSearchParams接口处理:
const params = new URLSearchParams(window.location.search) // 直接获取filename参数的值,示例场景下返回 tryjs_loc_href const filename = params.get('filename')
效果验证
针对你给出的示例URL https://www.w3schools.com/js/tryit.asp?filename=tryjs_loc_href,上述代码的返回结果完全符合预期,你也可以对照下图确认URL各部分对应属性:
内容的提问来源于stack exchange,提问作者Abu Naaim Md. Montasir Rahman
相关产品推荐
相关产品推荐

