首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用Astro获取querystring参数

如何使用Astro获取querystring参数
EN

Stack Overflow用户
提问于 2021-11-30 17:52:34
回答 4查看 1.9K关注 0票数 4

我正在使用一种相当新的技术,名为Astro (https://astro.build/)来构建一个完全静态的、服务器端呈现的页面,提供零JS。

我有一个表单的页面,它是一个简单的文本输入,当用户填写它并单击submit按钮时,它会发送一个GET请求到一个天文页面。网址看起来会像这样..。

/?search=1234

我想要做的是访问这个querystring参数,以便将我的用户重定向到另一个静态页面/1234。

我正在尝试使用Astro.request访问quesrystring参数,但是对象(包括参数属性)完全是空的。

是否可以访问.astro页面/文件中的查询字符串参数?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2022-01-11 13:18:50

我接触了阿童木的开发人员,并最终收到了一封电子邮件。这个功能是不可能的阿童木,它不是一个错误,而是一个误解,从我的阿童木如何工作。阿童木中的页面是预先呈现的,完全是静态的。

票数 1
EN

Stack Overflow用户

发布于 2022-08-31 18:40:12

您可以使用Astro.url (可从v1.0.0-rc中获得)。

例如:

代码语言:javascript
运行
复制
---
const search = Astro.url.searchParams.get('search')! || '';
---

{search ? <p>you searched for: {search}</p>}

<!-- rest of your template markup -->
票数 4
EN

Stack Overflow用户

发布于 2022-01-02 14:10:09

我也想做同样的事情,但是这似乎是Astro中的一个bug,它不提供queryString参数,但是这里有一种方法可以用Vanilla javascript来实现它,但是请注意,这只能在客户端完成,因为它只是javascript.

对于queryString:

代码语言:javascript
运行
复制
localhost:3000/test?search=123

要获得参数:

代码语言:javascript
运行
复制
const urlSearchParams = new URLSearchParams(window.location.search);
const params = Object.fromEntries(urlSearchParams.entries());

这种方法也可以在this question中看到。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70173939

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档