我遇到過多次CORS問題,通常可以解決它,但我想通過從MEAN堆棧範例中看到這一點來真正理解它。請求標頭字段Access-Control-Allow-Headers在預檢響應中本身是不允許的
在我簡單地在我的快速服務器中添加中間件來捕獲這些內容之前,它看起來像是某種預鉤使我的請求錯誤。
Request header field Access-Control-Allow-Headers is not allowed by Access-Control-Allow-Headers in preflight response
我認爲我能做到這一點:
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Headers","*")
})
或等值但這似乎並沒有解決它。我當然也試過
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Headers","Access-Control-Allow-Headers")
})
還是沒有運氣。
如果您使用Chrome,並且您不知道被請求的是什麼頭,使用開發者控制檯,網絡選擇正在進行的呼叫,您可以查看'訪問控制請求,Headers'被請求的是什麼頭 –
Developer Console選項是一個不錯的選擇。您還可以通過訪問服務器上的請求對象並轉儲報頭的值,但特別是「Access-Control-Request-Headers」的報頭值來找到所需的內容。然後,複製/粘貼到您的response.setHeader(「Access-Control-Allow-Headers」,「{paste here}」) –
示例請! – Demodave