[英]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()
如果您有更好的,請隨時回答。
謝謝你。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.