我想發送帶有標頭的請求到我的Laravel 5.3 API,使用Laravel護照進行身份驗證。返回頭:我不能發送http請求與標題laravel api角4
405(不允許的方法)
迴應預檢要求 未通過訪問控制檢查:沒有「訪問控制允許來源」 頭出現在所請求的資源。原因 'http://localhost:4200'因此不允許訪問。響應 了HTTP狀態碼405
我CORS中間件上Laravel:
header('Access-Control-Allow-Origin', '*')<br>
header('Access-Control-Allow-Methods', 'GET, POST, PATCH, PUT, DELETE, OPTIONS')<br>
header('Access-Control-Allow-Headers', 'Origin, Content-Type, Authorization , X-Auth-Token');<br>
和我的前端和API有不同的地址:
myfrontend.mydomain.com
myapi.mydomain.com
我的Angular HTTP請求標頭是:
let headers = new Headers({
'Content-Type': 'application/json; charset=utf-8',<br>
'Authorization': 'LaravelReturnedAuthToken',<br>
'Accept': 'application/json; charset=utf-8',<br>
'Access-Control-Allow-Origin': '*',<br>
'Access-Control-Allow-Methods': 'PUT, GET, POST, DELETE, OPTIONS',<br>
'Access-Control-Allow-Headers': 'Content-Type, x-xsrf-token',<br>
});
let options = new RequestOptions({headers: headers});
如果我刪除Angular HTTP請求標頭,一切正常。 我不明白我做錯了什麼。
API:Laravel 5.3
前端:角4
'405(不允許的方法)'表示您需要配置PHP服務器來處理OPTIONS請求。由於您的請求會在請求中添加Content-Type:application/json和Authorization標頭,因此會觸發瀏覽器在您嘗試從您的任何請求中自動執行CORS預檢選項請求之前自己的代碼。如果該預檢失敗,那麼瀏覽器就不會繼續在您的代碼中嘗試請求。見https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#Preflighted_requests – sideshowbarker