來自file:// URL 的請求出現「Access-Control-Allow-Origin 不允許Origin null」錯誤
問題: 開發人員在透過jQuery 的AJAX 支援從file:// URL 向Panoramio發出請求時遇到問題。控制台中出現錯誤「Access-Control-Allow-Origin 不允許 Origin null」。
根本原因分析:
-
不正確的請求類型: GET 請求應使用「jsonp」的資料類型或包含「 callback=?」在URL 中啟用JSONP,這是跨網域請求所必需的。
-
file:// URL 的 CORS 限制: 跨域資源共享 (CORS) 標頭無法授權來自file:// 透過 echo-back 帶有 null Origin header 的 URL
解決方案:
要解決此問題,需要執行以下步驟:
- 使用JSON
- 使用JSON
使用JSON
使用JSON 使用JSON 使用JSON
使用JSON使用JSON使用JSON請 使用$.getJSON 或將dataType 設定為「jsonp」讓$.get觸發JSONP,如果「callback=?」則將請求類型修改為「jsonp」存在於 URL 中。 避免 file:// URL: 確保透過 http:// URL 進行測試,因為 file:// URL 的 CORS 支援有限。 故障排除說明:驗證JSONP 用法: 確保$.get 的dataType 設定為jsonp 或$. getJSON與「callback=?」一起使用跨域請求的 CORS: 透過 http:// 進行測試,以避免 file:// URL 的 CORS 限制。確認瀏覽器支援 CORS,因為 Opera 和 Internet Explorer 已延遲實作。
以上是為什麼我的來自 `file://` URL 的 AJAX 請求會收到「Access-Control-Allow-Origin 不允許 Origin null」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!