jQuery.get()访问控制只允许某些资源出现原始错误
jQuery.get() Access-Control-Allow-Origin Error Only On Some Resources
有点奇怪!我正试图将SVG代码从PHP脚本导入到我们的网站,该脚本由第三方托管,该脚本从我们的内部服务器中提取XML。因此,基本上所有的调用都指向同一个文件,但使用不同的查询参数来加载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");
}
});
});
所有排序-原来是由于mod_evasive有点过于苛刻。现在优化了配置文件中的变量,运行良好。
这也解决了我们在OpenCart和AJAX结账时遇到的一个问题,如果有人偶然发现的话。
相关文章:
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 使用jQuery从原始页面内容创建iframe
- 从客户端获取修改后的对象,并将其与服务器上的原始对象组合
- 否'访问控制允许来源'标头存在于IISNOde中请求的资源(AngularJS+NodeJs)上
- WebResources嵌入式资源和Javascript如何在另一个嵌入式资源中使用它们
- 如何在构建node-webkit应用程序后获取外部资源
- ADF:有条件地加载javascript资源
- Javascript嵌入式图像资源
- 内容安全策略:页面's设置阻止加载资源
- 我如何制作一个JS函数,它可以从相似的原始颜色双向更改为某个颜色
- 用于查询错误转换的角度资源返回列表
- 未能在Laravel中加载资源
- LINK rel=子资源用于什么
- 如何在JS文件中获取资源(.resx)字符串
- 查找仅适用于原始图像的图像放大算法的名称
- 如何在使用Javascript浏览网站时处理原始窗口
- 我可以在Nodewebkit中保护javascript以外的资源吗
- markrwithlabel.js(第三方)原始文件链接断开
- Nodejs服务器:加载资源失败:服务器的响应状态为404(未找到)
- jQuery.get()访问控制只允许某些资源出现原始错误