跨域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: *');
其他選項
Apache 設定或.htaccess :
如果您有權限存取Apache 配置檔案或.htaccess文件,您也可以在那裡設定標頭:
Header set Access-Control-Allow-Origin *
注意:
雖然啟用跨域Ajax 可以提供更大的靈活性,但它也會停用CORS 保護,這可能會導致使用者容易受到攻擊。僅在絕對必要時才使用通配符 (*)。相反,建議將特定網域列入白名單,如提供的 PHP 程式碼範例中所示。
以上是如何啟用跨域 Ajax 請求並避免 Access-Control-Allow-Origin 錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!