在 Heroku 上部署了一个 Django 应用程序,在我的主页之后,之后的每个页面都不会呈现托管在 Amazon S3 上的 Javascript 文件,但是在 Inspect Element 中打开控制台时,似乎一切正常。我的 HTML 文件的标题如下
#questions.html
<link rel="stylesheet" type="text/css" href="https://s3.amazonaws.com/mrt-assets/static/css/QandA.css">
<link rel="stylesheet" type="text/css" href="https://s3.amazonaws.com/mrt-assets/static/css/Button.css">
<script src="https://s3.amazonaws.com/mrt-assets/static/js/prefixfree.min.js"></script>
<script src="https://s3.amazonaws.com/mrt-assets/static/js/index.js"></script>
<script src="https://s3.amazonaws.com/mrt-assets/static/js/qanda.js"></script>
该文件显然有效,但是当我加载页面时所有弹出窗口都已经打开。
唯一的错误是这个
2XMLHttpRequest cannot load https://s3.amazonaws.com/mrt-assets/static/css/QandA.css. Origin http://warm-oasis-9454.herokuapp.com is not allowed by Access-Control-Allow-Origin.
2XMLHttpRequest 无法加载https://s3.amazonaws.com/mrt-assets/static/css/Button.css。Access-Control-Allow-Origin 不允许来源http://warm-oasis-9454.herokuapp.com 。
有人帮我吗?
编辑:
这是有效的页面,索引
#index.html
<link rel="stylesheet" type="text/css" href="https://s3.amazonaws.com/mrt-assets/static/css/Index.css">
<link rel="stylesheet" type="text/css" href="https://s3.amazonaws.com/mrt-assets/static/css/Button.css">
<script src="https://s3.amazonaws.com/mrt-assets/static/js/prefixfree.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script src="https://s3.amazonaws.com/mrt-assets/static/js/index.js"></script>
这也是我对 s3 存储桶的 CORS 要求
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>
testsite.com
</AllowedOrigin>
<AllowedMethod>PUT</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<AllowedMethod>DELETE</AllowedMethod>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>PUT</AllowedMethod>
</CORSRule>
</CORSConfiguration>
这更有帮助吗?