我使用 PHP Lumen框架創建了一個 REST API,我使用以下方法刪除了所有 CORS 開發限制:// Enable CORS on all API routesheader('Access-Control-Allow-Origin: *');header("Access-Control-Expose-Headers: Content-Length, X-JSON");header('Access-Control-Allow-Methods: GET, POST, PATCH, PUT, DELETE, OPTIONS');header('Access-Control-Allow-Headers: Origin, Authorization, Lang, Content-Type, X-Auth-Token');然后在前端我使用庫superagent來調用它。例如我稱之為路線POST http://127.0.0.1:8000/auth/register:superagent.post('http://127.0.0.1:8000/auth/register').send({ name: 'name', email: '[email protected]', password: '1234Test'}).type('application/json') .end((err, res) => { console.log(res) console.log(err) })遺憾的是,我收到一條我無法理解的 CORS 錯誤消息:從源“ http://localhost:9000 ”訪問“ http://127.0.0.1:8000/auth/register ”處的 XMLHttpRequest已被 CORS 策略阻止:對預檢請求的響應未通過訪問控制檢查:它沒有 HTTP ok 狀態。我做了一些研究,但我找不到任何錯誤It does not have HTTP ok status,并且在 Postman 上測試同樣的請求沒有給我任何錯誤,而是正常的行為。有人知道我該如何解決嗎?在哪里可以找到有關此類錯誤的一些文檔?
1 回答

縹緲止盈
TA貢獻2041條經驗 獲得超4個贊
我很好奇為什么您要自己“手動”設置標頭,而不是使用一些現有的和經過驗證的 CORS-Middlwares,這將為您帶來所有的魔力。除非您在學習案例中需要它,否則我會避免重新發明輪子。
這是 stackoverflow 上的副本:
這是關于 lumen 中間件的官方文檔:
https://lumen.laravel.com/docs/7.x/middleware
這里有一些結構良好且眾所周知的中間件,它們將為您完成這項工作:
- 1 回答
- 0 關注
- 122 瀏覽
添加回答
舉報
0/150
提交
取消