【发布时间】:2020-04-03 09:16:55
【问题描述】:
我有这个 url http://localhost:3000/#/consultation/?idc=xxxd?iduser=Hyfzjg2,我想获取 idc 和 iduser 的值,以便在我的 API 上使用 ReactJs。
我试试这个:
let isInitialized = false;
const initialValues = {};
const initValues = () => {
if (isInitialized === false) {
const searchParams = new URLSearchParams(window.location.hash);
const values = [
{ urlKey: "idc", stateKey: "idC" },
{ urlKey: "iduser", stateKey: "idUser" },
];
values.forEach(item => {
const urlValue = searchParams.get(item.urlKey)
if (urlValue) {
initialValues[item.stateKey] = urlValue;
}
});
isInitialized = true;
}
return initialValues;
};
console.log(initValues())
当我运行它时,我得到 {} 一个空值。
如何获取idc 和iduser 的值?
【问题讨论】:
-
您的网址没有有
search组件。查询字符串。 -
@CBroe 我更正它,
window.location.hash -
不确定 URLSearchParams 构造函数是否会正确解析这样的值。 MDN 说,领先的
?被忽略,但您的值仍然以#/consultation/开头。 -
@CBroe 谢谢,你可以查看我的回答,效果很好
标签: javascript reactjs url search window.location