【发布时间】:2020-11-21 11:48:46
【问题描述】:
我试图让 CORS 在我的 PHP 上工作,但它不工作。我只希望某些域可以访问我的 php 文件。 我看过 Stackoverlflow 上的其他文章(即Cross-Origin Request Headers(CORS) with PHP headers),但由于我的 $SERVER[ORIGIN] 总是返回 null;
这是我的https://dev.mycompany.com/test-cors.php 文件:
<?
header("Access-Control-Allow-Origin: https://www.mycompany.com");
header("Access-Control-Allow-Methods: GET");
header("Content-Type: application/json; charset=UTF-8");
$myObj->name = "John";
$myObj->age = 30;
$myObj->city = "New York";
$myJSON = json_encode($myObj);
echo $myJSON;
?>
我正在尝试使用 ajax 从我的 https://dev.mycompany.com 服务器调用 json.php,以查看是否可以取回 JSON 数据。我原以为会出现错误,但收到了数据已检索警报消息。
这是我从 ajax.js 上的开发服务器调用的 jquery。
$.ajax({
url: "test-cors.php",
type: 'GET',
dataType: 'json', // added data type
success: function(data) {
alert('data retrieved');
},
error: function (jqXHR, textStatus, errorThrown) {
alert(textStatus);
}
});
【问题讨论】:
-
您的 ajax 请求发送到same origin。 CORS 仅适用于跨域。 (因此得名。)