【问题标题】:Django JavaScript loading fails irregularlyDjango JavaScript 加载异常失败
【发布时间】:2012-11-06 19:13:05
【问题描述】:

我正在 localhost 上开发一个 Django 项目,其中包含一些包含在 base.html 模板中的 JavaScript 文件。我的 JavaScript 包含在页面底部:

... other stuff...
<script src="/media/js/jquery.js" type="text/javascript"></script>
<script src="/media/js/jquery-ui-1.9.1.custom.js" type="text/javascript"></script>
<script src="/media/js/bootstrap.js" type="application/javascript"></script>
<link rel="stylesheet" href="/media/css/pepper-grinder/jquery-ui-1.9.1.custom.css" />  
{% block extrajs %}
{% endblock %}
</body>

有时,但令人沮丧的是,并非总是如此,当我加载或刷新页面时,对其中一个 JavaScript 文件的 GET 请求会失败。有时是对 jquery-ui 的请求,有时是对 jQuery 本身的请求,有时是对 bootstrap.js 的请求。如果我将 url 直接粘贴到浏览器中,JavaScript 文件加载得很好,所以我的媒体 url 没有问题。

在 Chrome 中,如果我单击控制台错误并查看网络选项卡,状态显示“(失败)”,类型显示“待处理”。请求标头似乎表明请求实际上并没有失败,只是根本没有通过。

Request URL:http://localhost:8111/media/js/jquery-ui-1.9.1.custom.js
Request Headersview source
Accept:*/*
Cache-Control:no-cache
Pragma:no-cache
Referer:http://localhost:8111/reservation/create/
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/22.0.1229.94 Safari/537.4

最后,在 Firefox 中加载页面确实不会产生错误,但显示 JavaScript 文件的响应返回 304。

这是否与我提供静态媒体的方式有关(除了通常的静态媒体设置之外没有什么特别的)?与铬?我该如何解决这个问题?

【问题讨论】:

    标签: javascript django google-chrome httprequest


    【解决方案1】:

    304 错误表示文件未被修改,因此您的计算机不需要从服务器下载该文件。所以这根本不是错误——它只是表明您的浏览器效率更高。

    如果您最近更改了文件并想查看更改,请尝试清除缓存。

    【讨论】:

    • 谢谢,但问题是我实际上在 chrome 中遇到了错误,所以我的 javascript 都没有工作。
    • 也许可以尝试将 bootstrap.js 的
    【解决方案2】:

    尝试禁用 Chrome 扩展程序,看看是否有帮助。我遇到了同样的问题,结果是 Adblock 扩展导致了问题。

    更新:根据@jessykate 的说法,完整的解决方案似乎也是将 Chrome 更新到最新版本——至少 23.0.1271.91。

    【讨论】:

    • 谢谢 - 这不是解决方案,但它让我找到了更新 chrome 的实际解决方案。我现在使用的是 23.0.1271.91 版本,并且不再发生错误。因为它帮助引导了我将其标记为正确的方式。谢谢!
    • @jessykate 太好了,您找到了解决方案。我也更新了我的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-15
    • 2015-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多