有点奇怪!我正在尝试将SVG代码导入我们的网站,由第三方托管,从我们的内部服务器提取XML的PHP脚本。所以基本上所有的调用都转到同一个文件,但是使用不同的查询参数来加载SVG。
所以,几乎是随机的,有时我会得到这个......
No 'Access-Control-Allow-Origin' header is present on the requested resource.
...关于一部分电话(有时没有,有时几个,但很少都是)。甚至在页面刷新之间。所以我只是想知道为什么它不仅仅是一揽子工作还是不工作。
以下是PHP文件中的代码:
header('Access-Control-Allow-Origin: *');
$svg = $_GET['svg'];
$file = "/path/to/images/social/$svg";
if(file_exists($file)){
$svg = file_get_contents($file);
$svg = preg_match('/(<svg.*<\/svg>)/is',$svg,$matches);
echo $matches[0];
} else {
echo "0";
}
和JS:
$('.footer-social a').each(function(){
var el = $(this);
var f = '//js.example.com/svg.php?svg='+$.trim(el.attr("class"))+'.svg';
$.get(f, function (data) {
if(data!="0"){
el.html(data);
} else {
console.log(f + " not found");
}
});
});
答案 0 :(得分:0)
所有排序 - 结果是由于 mod_evasive 有点过于刺耳。现在优化了配置文件中的变量,它运行正常。
这也解决了我们在 OpenCart 和AJAX结帐时遇到的问题,如果有人偶然发现这个问题。