因此,我一直在嘗試在我的網站上實施 cookie,以跟蹤 JavaScript 物件串列,以便在用戶回傳時頁面保持一致。我一直在這里關注本教程。
在我的本地機器上,npm run dev在 localhost:3000 上使用,它作業得非常完美。但是,當我將提交推送到 GitHub 時,它在 Vercel 上構建時沒有任何問題,但是當我嘗試訪問 Internet 上的實時網站時,它給了我一個“ERR_TOO_MANY_REDIRECTS”錯誤。
我很困惑為什么它可以在我的本地托管站點上完美運行,但是當它投入生產時卻嚇壞了并且無法正常作業。
我想我已經將問題縮小到getInitialProps因為當我注釋掉index.js檔案中的實作時,它仍然不起作用,但是當我注釋掉時getInitialProps,它又起作用了。
這是我認為可能是問題的代碼。
Home.getInitialProps = async ({req, res}) => {
const data = parseCookies(req)
if (res) {
if (Object.keys(data).length === 0 && data.constructor === Object) {
res.writeHead(301, { Location: "/" })
res.end()
}
}
return {
data: data && data,
}
}
這是該parseCookies方法的代碼,匯入為
import { parseCookies } from "../helpers/index"
在我的 index.js
import cookie from "cookie"
export function parseCookies(req) {
return cookie.parse(req ? req.headers.cookie || "" : document.cookie)
}
在這一點上,我非常困惑,我已經把代碼看了十幾遍了,但仍然不知道我可能做錯了什么。任何幫助將非常感激!請讓我知道我是否可以提供更多資訊!
uj5u.com熱心網友回復:
在ERR_TOO_MANY_REDIRECTS由于發生錯誤Object.keys(data).length === 0 && data.constructor === Object回傳true時,沒有曲奇餅設定,您訪問的網頁。發生這種情況時,重定向會將您帶回/(主頁),然后再次進行檢查并發生新的重定向,依此類推。
在本地,您可能設定了 cookie,因此您不會遇到此問題。但是,當您訪問 Vercel 上托管的網站時,最初不存在 cookie,這會觸發無限重定向回圈。
要解決此問題,只需從主頁中洗掉邏輯,因為那是重定向目的地。不過,您仍然可以在其他頁面上使用它并重定向到主頁。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/334378.html
下一篇:熊貓選擇日期行
