我在 Flutter Web 應用程式中遇到了一個奇怪的情況。我正在向似乎給我一個 CORS 錯誤的 PHP 腳本發出請求,但似乎 PHP 代碼無論如何都會被執行......
當我發出請求時,Flutter Web 應用程式拋出例外
XMLHttpRequest error
Chrome 開發者工具網路標簽顯示CORS error在status請求的列中。
但盡管如此,似乎腳本實際上已執行并將資料插入資料庫。
是否有可能執行 PHP 腳本,同時仍然在客戶端出現 CORS 錯誤?
uj5u.com熱心網友回復:
在執行代碼之前,您需要檢查腳本中的 http 方法:
if ($_SERVER['REQUEST_METHOD'] === 'GET') {
}
瀏覽器向服務器發出 OPTIONS 請求以檢查 cors,它將執行您的腳本,如果 cors 檢查通過,您的腳本將被呼叫兩次,一次用于 OPTIONS 呼叫,另一次用于 GET 呼叫
uj5u.com熱心網友回復:
PHP 最不關心客戶端。
CORS 錯誤始終是內容嵌入錯誤。
例如。沒有在瀏覽器中嵌入任何內容的 API 客戶端根本不受影響。
PHP 需要為預檢 OPTIONS請求發送正確的標頭。發送通配符Access-Control-Allow-Origin: "*"會破壞這個想法。當需要允許*或localhost建議交換自定義標頭時,以縮小訪問范圍。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/481427.html
下一篇:使用雄辯的關系未定義的變數
