网站搜索

typescript - Next JS:在 getServerSideProps 中获取带上下文的 URL 片段


我想在 getServerSideProps 中获取 URL 片段。URL 结构如下:http://localhost:3000/some-folder#desiredParam=value

我正在将context作为参数传递给getServerSideProps函数,但由于 URL 的结构不是http://localhost:3000/some-folder?desiredParam=value,所以我无法获取 URL 参数。如果 URL 是这种格式,我就可以直接使用context.query.desiredParam

使用 context.query.url 会返回 /some-folder,而 context.query 返回 null。

如果我可以获取整个 window.location,我会用 # 来分割字符串,但在 getServerSideProps 上这是不可能的。

那么……我该如何获取 desiredParam 的值?

答案#1

URL片段本质上是一个客户端概念。

它不会随 HTTP GET 请求发送。你可以在完全不触发任何请求的情况下更改它。这不是由于你的框架,这是基本的网络标准。客户端框架只是不会遇到这个问题,因为它们是客户端的。

如果你希望服务器端内容依赖于片段,你需要在客户端提取它,并通过其他方式将数据传递给服务器。