PHP 伺服器端處理跨域問題

2020-07-16 10:05:52
相關推薦:《PHP教學

起初只在檔案開頭設定了

header('Access-Control-Allow-Origin:*');

然後報錯

Request header field X-Requested-With is not allowed by Access-Control-Allow-Headers in preflight response.

解決方法:

檔案開頭設定

header('Access-Control-Allow-Origin:*');
header('Access-Control-Allow-Methods:OPTIONS, GET, POST'); // 允許option,get,post請求
header('Access-Control-Allow-Headers:x-requested-with'); // 允許x-requested-with請求頭
後成功

其中比較疑惑的是 Access-Control-Allow-Headers 的設定。 看了 這篇文件 後理解了

如果瀏覽器請求包括Access-Control-Request-Headers欄位,則Access-Control-Allow-Headers欄位是必需的。它也是一個逗號分隔的字串,表明伺服器支援的所有頭資訊欄位,不限於瀏覽器在"預檢"中請求的欄位。

179d6b2f38d48028f4d72bbdb95fa29.png

然後看了請求頭中確實 包括Access-Control-Request-Headers

然後成功返回介面資訊

349e0f10334fda327f1f5b453cc6232.png

1a0ce268008a5bb47c28df38cafc690.png

以上就是PHP 伺服器端處理跨域問題的詳細內容,更多請關注TW511.COM其它相關文章!