AngularJs 中的CORS 配置難題
CORS(跨來源資源共享)允許來自同一個來源(例如您的網站)的JavaScript存取來自不同來源的資源(例如API)。不過,必須在伺服器端啟用。
您提供的設定嘗試在客戶端啟用 CORS,但沒有效果。以下程式碼片段示範了您所嘗試的操作:
myApp.config(function($httpProvider) { $httpProvider.defaults.useXDomain = true; delete $httpProvider.defaults.headers.common['X-Requested-With']; }); myApp.service('dataService', function($http) { delete $http.defaults.headers.common['X-Requested-With']; ... });
此設定允許跨網域請求,但失敗,因為伺服器需要使用適當的 CORS 標頭進行回應以授予權限。
錯誤訊息「XMLHttpRequest 無法載入 URL。Access-Control-Allow-Origin 不允許 Origin」表示伺服器的回應缺少必要的 CORS 標頭。要解決此問題,您需要在託管您嘗試存取的 API 的伺服器上設定 CORS。
提供的連結討論客戶端 CORS 處理,這不適用於您的情況。伺服器必須實作 CORS 以允許從不同來源存取其資源。
以上是為什麼我的 AngularJS 應用程式的客戶端 CORS 配置不起作用?的詳細內容。更多資訊請關注PHP中文網其他相關文章!