【发布时间】:2016-11-10 03:52:09
【问题描述】:
我拥有一个我们称之为 www.example.com 的网站。我网站的主要部分位于两个文件中; header.php 和 index.php。网站代码的上半部分在 header.php 中,而下半部分在 index.php 中。我的问题是,我无法让 Access-Control-Allow-Origin 属性显示在 example.com 的响应标头中
我的代码:
以下是header.php的简化版:
<?php
header("Access-Control-Allow-Origin:*", false);
...
additional code here
...
?>
<!DOCTYPE html>
<html>
<head>
<title>My Site</title>
</head>
<body>
....
top half of site code
....
以下是index.php的简化版:
<?php
header("Access-Control-Allow-Origin:*", false);
include ("header.php");
?>
....
bottom half of site code
....
</body>
</html>
这是我检索图像的请求:
$.ajax({
type: "GET",
url : folder,
success: function (data) {
if($(".img").length){
$(".img").remove();
}
$(data).find("a").attr("href", function (i, val) {
if( val.match(/\.(jpe?g|png|gif)$/) ) {
$("#img-lib").append( "<img class='img' src='"+ folder + val +"'>" );
}
});
},
error: function () {
$("#er").remove();
$("#img-lib").append("<p id='er'>There was an error retrieving the images</p>");
}
});
我的错误:这是我尝试访问 www.example.com/Section/images/ 时得到的结果:
http://i.stack.imgur.com/29t8n.jpg
我已经尝试过的:
(以下代码sn-ps为第一行php代码)
-
header("Access-Control-Allow-Origin:*");仅在 header.php 中。 -
header("Access-Control-Allow-Origin:www.example.com");仅在 header.php 中。 -
header("Access-Control-Allow-Origin:*");在 header.php 和 index.php 中 -
header("Access-Control-Allow-Origin:*", false);在 header.php 和 index.php 中
值得一提的是,我当前正在构建的站点将用于编辑我现有的站点 (www.example.com)。
【问题讨论】:
-
它是否适用于 *?是否强制刷新页面?
-
@DanielKucal 它不适用于 *.我已经刷新了我正在构建的页面和 example.com,但仍然无法正常工作。
-
我无法重现该问题 — evernote.com/l/AANksxHmPBlG4qXVPoY3b-ZUH4Dz6kXo9Xo — 可能您在标头语句之前有一些其他代码导致抛出错误,可能您在部署中出错了。跨度>
-
“我不确定这是否会有所帮助,但这是我尝试从 images/ 中检索文件时得到的标题” - 该屏幕截图中显示的 URL 显示了来自的标准目录列表阿帕奇。那似乎不是你说你使用的 PHP 程序。
-
@Quentin 上面的评论中没有图片^。我已经重写了我的大部分问题,使其更具体。
标签: javascript php html cors