【问题标题】:How to get the querystring parameters with Astro如何使用 Asto 获取查询字符串参数
【发布时间】:2021-11-30 17:52:34
【问题描述】:

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

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

/?search=1234

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

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

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

【问题讨论】:

    标签: javascript node.js reactjs astrojs


    【解决方案1】:

    我想做同样的事情,但这似乎是 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 中看到

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-05-16
        • 2022-06-24
        • 2020-05-26
        • 2014-08-09
        • 2017-12-09
        • 2021-12-23
        相关资源
        最近更新 更多