Next.js api 在 request.url 中的“#”后阅读
Next.js api read after '#' in request.url
我正在尝试读取一个 GET 请求 url,它在“#”(我无法控制)之后有查询字符串,例如:
http://...onnect/endpoint/#var_name=var_value...
request.url 在 endpoint/
之后不显示任何内容
如果端点呈现 html 然后我使用 javascript 获取查询字符串,则可以解决问题,但这是我要避免的 - 有没有办法获取查询来自 request.url 或其他请求的字符串。[参数] ?
在服务器上你永远不会得到以#开头的部分。
但是在客户端你可以用 window.location.hash
.
得到它
如果这在您的控制范围内,您可以做的是从客户端提取它,然后以其他方式将其发送到服务器
我能够创建一个解决方法(避免需要创建 Next.js 页面)
我使用 res.writeHead
和 res.write
创建了一个重定向页面
res.writeHead(302, { 'Content-Type': 'text/html' })
res.write(`
<script>
const queryString = window.location.hash.replace('#', '')
window.location.href='http://...onnect/endpoint?'+ queryString
</script>
`)
res.end()
有什么更好的请随时回答。
谢谢。
我正在尝试读取一个 GET 请求 url,它在“#”(我无法控制)之后有查询字符串,例如:
http://...onnect/endpoint/#var_name=var_value...
request.url 在 endpoint/
如果端点呈现 html 然后我使用 javascript 获取查询字符串,则可以解决问题,但这是我要避免的 - 有没有办法获取查询来自 request.url 或其他请求的字符串。[参数] ?
在服务器上你永远不会得到以#开头的部分。
但是在客户端你可以用 window.location.hash
.
如果这在您的控制范围内,您可以做的是从客户端提取它,然后以其他方式将其发送到服务器
我能够创建一个解决方法(避免需要创建 Next.js 页面)
我使用 res.writeHead
和 res.write
res.writeHead(302, { 'Content-Type': 'text/html' })
res.write(`
<script>
const queryString = window.location.hash.replace('#', '')
window.location.href='http://...onnect/endpoint?'+ queryString
</script>
`)
res.end()
有什么更好的请随时回答。
谢谢。