簡體   English   中英

Next.js api 在請求中的“#”后讀取。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.writeHeadres.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM