0

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

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

/?搜索=1234

我想要做的是访问该查询字符串参数,以便将我的用户重定向到另一个静态页面/1234。

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

无论如何可以从 .astro 页面/文件访问查询字符串参数吗?

4

2 回答 2

0

我想做同样的事情,但这似乎是 Astro 中的一个错误,它不提供 queryString 参数,但这是一种仅使用 Vanilla javascript 实现它的方法,但请注意,这只能在客户端完成只是 javascript...

对于查询字符串:

localhost:3000/test?search=123

获取参数:

const urlSearchParams = new URLSearchParams(window.location.search);
const params = Object.fromEntries(urlSearchParams.entries());

这种方法可以在:this question as well中看到

于 2022-01-02T14:10:09.387 回答
0

我联系了 Astro 的开发人员,最终收到了一封电子邮件。Astro 无法实现此功能,这不是错误,而是我对 Astro 工作原理的误解。Astro 中的页面是预先呈现的,并且完全是静态的。

于 2022-01-11T13:18:50.093 回答