jquery - XMLHttpRequest 无法加载 请求的资源上不存在 'Access-Control-Allow-Origin' header 。 AWS S3、Retina.JS

标签 jquery ajax header amazon-s3 cors

我正在尝试让 retina.js 在我们的网站上工作,其中作品集文章是通过 ajax 加载的。

所以 retina.js 似乎试图获取图像,但留下了典型的

XMLHttpRequest cannot load http://assets.url.com/images/logo6@2x.png. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://url.com' is therefore not allowed access. 

我正在运行 Nginx,它有访问控制设置,但显然它也需要在 S3 上设置,而且它......像这样很好并且开放......

<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
    <AllowedOrigin>*</AllowedOrigin>
    <AllowedMethod>GET</AllowedMethod>
    <MaxAgeSeconds>3000</MaxAgeSeconds>
    <AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>

我尝试过包括特定 URL 的变体,但仍然收到相同的错误消息。

有人知道这里可能出现什么错误,也许我们的设置根本没有设置请求 header ?也许我们的 ajax 网格干扰了 retina.js? retina.js 网站上没有提到设置上述代码后需要任何特殊配置。

如果有什么区别的话,我们也会使用 Cloudflare 作为 DNS,尽管目前一切都已关闭。

最佳答案

问题出在 retina.js 的工作方式上。感谢 github 上的这个替代版本,终于找到了解决方案。

https://github.com/chrishunt/retinajs/blob/master/src/retina.js

关于jquery - XMLHttpRequest 无法加载 请求的资源上不存在 'Access-Control-Allow-Origin' header 。 AWS S3、Retina.JS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22289709/

相关文章:

javascript - Ajax 成功后触发第二个 Javascript 文件

python - 使用 ncurses 固定页眉和页脚?

javascript - 尝试使用 Spotify Web Api 将歌曲添加到另一个协作播放列表时出现 403 禁止错误

jquery - 从 jQuery 对象获取基本元素

javascript - 如何从递归请求返回 promise 并在数据匹配条件时解决它?

c++ - C/C++ : How to figure out the chain of header files for a given definition?

c++ - 在 C++ 中创建和实现类

javascript - 在 JS/JQuery 中使用配置 PHP 文件

javascript - 如何将每个视频持续时间和 url 存储在单独的本地存储变量中? (Vimeo,Jquery)

php - Ajax 回复 javascript 无法进行验证