Php
CORS 政策:JSON 文件沒有“訪問控制允許來源”
我在伺服器 A 中保存了一個 JSON 文件,ip:111.111.111.111/folder1/a.json
從伺服器 B
$$ ip : 444.444.444.444 $$,我正在嘗試訪問該 JSON 文件,我收到以下結果:
從源“ http://444.444.444.444 ”訪問“ http://111.111.111.111/a.json ”中的 XMLHttpRequest已被 CORS 策略阻止:沒有“Access-Control-Allow-Origin”標頭出現在請求的資源。
我在 111.111.111.111/index.php 中編寫了以下程式碼,但我收到了同樣的錯誤:
<?php Access-Control-Allow-Origin: "http://444.444.444.444" Access-Control-Allow-Origin: * Header set Access-Control-Allow-Origin: * ?>
使用以下 JavaScript 程式碼訪問 JSON:
$.getJSON("http://111.111.111.111/folder1/a.json", (data) => { }
您的訪問控制策略需要設置在與請求的資源相同的 URL 上。
我的意思是,如果您要請求訪問
/folder1/a.json
,則需要在針對此特定 URL 的請求上設置 Access-Control 標頭。您可以通過您的伺服器(Apache / Nginx / …)添加這些標頭,或者創建一個 php 腳本,就像您製作的那樣設置這些標頭並返回 json 文件內容(即
/folder1/a.json.php
)。順便說一句,您的程式碼不是有效的 PHP,請使用該
header(...)
函式。你可以使用這樣的腳本:
<?php header('Access-Control-Allow-Origin: http://444.444.444.444/*'); header('Content-Type: application/json; charset=utf-8'); die(file_get_contents('a.json')); ?>