簡體   English   中英

Javascript無法在Heroku的Django應用中呈現

[英]Javascript not rendering in Django app on Heroku

在Heroku上部署了Django應用,在我的主頁之后,之后的每個頁面都不呈現Amazon S3上托管的Javascript文件,但是在Inspect Element中打開Console時,似乎一切都很好。 我的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>

這有幫助嗎?

您需要在您的S3存儲桶中啟用跨源資源共享(CORS),這是Amazon最近(非常感謝)添加的。 這是文檔: http : //docs.amazonwebservices.com/AmazonS3/latest/dev/cors.html以及此處http://docs.amazonwebservices.com/AmazonS3/latest/UG/EditingBucketPermissions.html

弄清楚了,我要做的就是顛倒HTML頁面中Javascript文件和CSS文件的順序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM