CORS 錯誤:「請求僅支援協定方案:http...」解釋與解決方法
發出HTTP 請求時跨不同來源,由於跨來源資源共享(CORS)機制,可能會被瀏覽器阻止。此限制可防止來自發出請求的網站以外的來源對資源進行未經授權的存取。
在給定場景中,Angular 服務嘗試從 localhost:4201/ticker 上執行的 Express 後端擷取 JSON 回應。但是,請求失敗並出現錯誤:「XMLHttpRequest 無法載入localhost:4201/ticker。僅協議方案支援跨來源請求:http、data、chrome、chrome-extension、https。」
儘管如此嘗試使用Express伺服器中的cors 模組實現CORS 處理,錯誤仍然存在。提供的程式碼片段顯示,Angular 服務中使用的 URL 未指定協定方案,這導致了 CORS 錯誤。
要解決此問題,Angular 服務中的 URL 應更新為包含http:// 協定方案。透過在 URL 中新增“http://”,該請求將被正確解釋為 HTTP 請求,從而使其能夠通過 CORS 驗證。
Angular 服務中更正的程式碼部分:
this._baseUrl = 'http://localhost:4201/';
進行此更改後,Angular 服務應該能夠成功向Express 後端發出請求並檢索JSON 回應,而不會遇到CORS錯誤。
以上是為什麼我的 Angular 服務出現 CORS 錯誤:「僅支援協定方案的請求:http...」以及如何修復它?的詳細內容。更多資訊請關注PHP中文網其他相關文章!