首頁 >web前端 >js教程 >為什麼我的來自 `file://` URL 的 AJAX 請求會收到「Access-Control-Allow-Origin 不允許 Origin null」錯誤?

為什麼我的來自 `file://` URL 的 AJAX 請求會收到「Access-Control-Allow-Origin 不允許 Origin null」錯誤?

Linda Hamilton
Linda Hamilton原創
2024-12-23 05:30:25589瀏覽

Why Does My AJAX Request from `file://` URLs Get an

來自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

解決方案:

要解決此問題,需要執行以下步驟:

  1. 使用JSON
  2. 使用JSON

使用JSON

    使用JSON
  1. 使用JSON
  2. 使用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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn