首頁 >web前端 >js教程 >如何啟用跨域 Ajax 請求並避免 Access-Control-Allow-Origin 錯誤?

如何啟用跨域 Ajax 請求並避免 Access-Control-Allow-Origin 錯誤?

Patricia Arquette
Patricia Arquette原創
2024-12-19 15:19:10940瀏覽

How to Enable Cross-Domain Ajax Requests and Avoid Access-Control-Allow-Origin Errors?

跨域Ajax 請求被Access-Control-Allow-Origin 阻止

Ajax 請求嘗試存取資源時會出現此問題來自不同的域,觸發Access-Control-Allow-Origin 錯誤。在此特定實例中,從 Sencha Touch 2 應用程式向遠端 PHP 伺服器發出 Ajax 請求。

解決問題

要解決此錯誤並允許跨域Ajax,伺服器端必須配置新增Access-Control-Allow-Origin的回應頭。此標頭指定允許發出 Ajax 請求的網域。

在 PHP 中,可以透過修改回應標頭來實現,如下所示:

header('Access-Control-Allow-Origin: *');
  • 表示跨域任何域都允許使用 Ajax。為了提高安全性,您可以只指定受信任的網域,而不是使用萬用字元 (*)。

其他選項

Apache 設定或.htaccess :

如果您有權限存取Apache 配置檔案或.htaccess文件,您也可以在那裡設定標頭:

Header set Access-Control-Allow-Origin *

注意:

雖然啟用跨域Ajax 可以提供更大的靈活性,但它也會停用CORS 保護,這可能會導致使用者容易受到攻擊。僅在絕對必要時才使用通配符 (*)。相反,建議將特定網域列入白名單,如提供的 PHP 程式碼範例中所示。

以上是如何啟用跨域 Ajax 請求並避免 Access-Control-Allow-Origin 錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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