如何在 NextJS 中间件中获取查询字符串参数
Posted
技术标签:
【中文标题】如何在 NextJS 中间件中获取查询字符串参数【英文标题】:How do I get query string params in NextJS middleware 【发布时间】:2022-01-13 06:50:21 【问题描述】:我正在使用 NextJS 中间件,可以从请求中获取 nextUrl
对象,其中包括路径名等内容,但是如何从中间件中获取查询字符串参数?我可以看到它作为 href 返回的字符串的一部分返回,然后我可以自己解析它,但我想知道它是否在它自己的对象中返回?
例如
export const middleware = (request) =>
const nextUrl: query = request;
...
;
query
等于
param1: 'foo',
param2: 'bar',
etc.
【问题讨论】:
【参考方案1】:您可能只想从某个位置提取它:
const urlSearchParams = new URLSearchParams(window.location.search);
const params = Object.fromEntries(urlSearchParams.entries());
【讨论】:
【参考方案2】:正如@j-cue 上面所说,但我还发现您可以从nextUrl
获得search
。
例如
export const middleware = (request) =>
const nextUrl: search = request;
const urlSearchParams = new URLSearchParams(search);
const params = Object.fromEntries(urlSearchParams.entries());
;
【讨论】:
以上是关于如何在 NextJS 中间件中获取查询字符串参数的主要内容,如果未能解决你的问题,请参考以下文章
NextJS + Apollo:如何在 getServerSideProps 内的 apolloClient.query 上获取多个查询?
删除突变后不重新获取查询(Apollo Graphql & Nextjs)