Javascript 在下一个路由器中传递查询时如何缩短url
我试图通过查询传递我的团队数据,但这使我的路径名变长。 像这样: http://localhost:8080/subteam/Tec1623169071267?id=b0748fc5-5d8d-44d4-a86c-331a7e7fa52e&public_团队id=Bum1623168913109&title=Bum&type=organization&mission=Bum&agreement=default&max_团队成员允许人数=300&picture=https%3A%2F%2favators.com%2Fapi%2Fjdenticon%2F32.svg%3Fr%3D50%26b%3D%252316ca97%26w%3D100%26h%3D100&u月内持续时间=12&status=Seeking+new+members&createdAt=2021-06-08T16%3A15%3A13.163Z&roomID=9bfa2965-7a98-4a89-b7b8-0237b691ca84&User=&Memberships=&SubTeams=&= 以下是我的代码:Javascript 在下一个路由器中传递查询时如何缩短url,javascript,reactjs,react-hooks,next.js,Javascript,Reactjs,React Hooks,Next.js,我试图通过查询传递我的团队数据,但这使我的路径名变长。 像这样: http://localhost:8080/subteam/Tec1623169071267?id=b0748fc5-5d8d-44d4-a86c-331a7e7fa52e&public_团队id=Bum1623168913109&title=Bum&type=organization&mission=Bum&agreement=default&max_团队成员允许人数=300&picture=https%3A%2F%2favat
const goToSubTeamPage = async () => {
await axios.get(`/api/v1/subteams/subteam/${subteam.public_sub_team_id}`);
// Move to team page
NextRouter.push({
pathname: `/subteam/${subteam.public_sub_team_id}`,
query: teamData,
});
};
当我console.log(路由器)
它给了我这个:
查询:成员身份:“”子团队:“”用户:“”协议:“默认”
创建日期:“2021-06-08T16:15:13.163Z”持续时间(以月为单位):“12”id:
“Tec1623169071267”允许的最大团队成员数:“300”任务:“bum”
图片:
"https://avatars.dicebear.com/api/jdenticon/32.svg?r=50&b=%2316ca97&w=100&h=100"
公共团队id:“Bum1623168913109”房间id:
“9bfa2965-7a98-4a89-b7b8-0237b691ca84”状态:“寻找新成员”
标题:“Bum”类型:“组织”
如何使我的路径名更短,但仍然像那样在下一个路由器中传递teamData?看起来子团队的public sub_team_id属性中包含了所有子团队的信息。它来自teamDataconsole.log subteam.public sub_team_id,并告诉我它说了什么。仅此
Tec1623169071267
Lol,我读错了你的代码。兆字节不,如果您通过查询传递团队数据,您的url将至少有那么长(使用GET)。至少没有一款现代浏览器对查询的长度有上限。你可能有点不舒服。您的api应该知道所有这些数据。