修正AngularJS POST 失敗並顯示HTTP 狀態代碼404
在AngularJS 中,POST 請求可能會失敗,並顯示錯誤「預預詞檢響應無效” HTTP 狀態代碼404。 「當瀏覽器在實際POST 請求之前發送預檢OPTIONS 請求以驗證權限時,就會出現此問題。伺服器必須處理此預檢請求並使用適當的CORS 標頭進行回應。
伺服器端設定
在SlimPHP 伺服器中,請確保已包含下列標頭在您的回覆中:
<code class="php">$app->response()->headers->set('Access-Control-Allow-Headers', 'Content-Type'); $app->response()->headers->set('Content-Type', 'application/json'); $app->response()->headers->set('Access-Control-Allow-Methods', 'GET, POST, OPTIONS'); $app->response()->headers->set('Access-Control-Allow-Origin', '*');</code>
客戶端設定
客戶端設定<code class="javascript">app.config(function ($httpProvider) { $httpProvider.defaults.headers.common = {}; $httpProvider.defaults.headers.post = {}; $httpProvider.defaults.headers.put = {}; $httpProvider.defaults.headers.patch = {}; });</code>
客戶端設定
客戶端設定
客戶端設定接下來,透過修改AngularJS 用戶端程式碼停用預檢請求:透過在客戶端重置標頭,瀏覽器將發送直接POST 請求,而無需預檢OPTIONS 請求。涉及在實際請求之前驗證權限的預檢請求。以上是為什麼 AngularJS POST 請求失敗並顯示 HTTP 狀態碼 404?的詳細內容。更多資訊請關注PHP中文網其他相關文章!