最近在学习前端项目时,有个需求是跳转页面获取url的参数并输出在页面上。于是,度娘走起,找到两个js函数,测试。 然后测试发现,两个函数都是单独测试ok,但是在模板里测试就数据显示不出来。经过排查,发现是window.location中的search出现问题。
单独测试: 模板测试:
继续度娘排查,了解到window.location中的属性,其中search和hash属性就存在冲突。 经测试,验证了说明,说明如下:
对于生产环境中,url中很少存在#,所以用search不会有太多问题。但是在测试环境中,#会出现较多,用search就会出现问题,因此改进用window.location中的href,并测试成功。
<script text
="text/javascript">
function getQueryString(variable
) {
var reg
= new RegExp("(^|&)" + variable
+ "=([^&]*)(&|$)", "i");
var r
= window
.location
.href
.split('?')[1].match(reg
);
if (r
!= null) return unescape(r
[2]);
return null;
}
</script
>