吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2040|回复: 3
收起左侧

[已解决] django在js报错Uncaught ReferenceError: $ is not defined

[复制链接]
thepoy 发表于 2019-9-8 15:25
本帖最后由 thepoy 于 2019-9-9 17:03 编辑

有个base.html,如下:
[HTML] 纯文本查看 复制代码
{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
    <title>{{ title }}</title>

</head>
<body>
<scrpit type="text/javascript" src="{% static 'js/jquery.js' %}"></scrpit>
<scrpit type="text/javascript" src="{% static 'js/base.js' %}"></scrpit>
<scrpit type="text/javascript" src="{% static 'js/bootstrap.js' %}"></scrpit>
<script type="text/javascript" src="{% static 'js/swiper.jquery.js' %}"></script>


还有个继承自base.html的base_main.html:
[HTML] 纯文本查看 复制代码
{% extends 'base.html' %}
{% load static %}

{% block ext_css %}
    {{ block.super }}
    <link rel="stylesheet" href="{% static 'axf/main/css/main.css' %}">
{% endblock %}

{% block header %}
    <header></header>
{% endblock %}


最后就是出问题的html,继承自base_main,虽然将下面的js继承过来,但是并没有生效:
[HTML] 纯文本查看 复制代码
<scrpit type="text/javascript" src="{% static 'js/jquery.js' %}"></scrpit>
<scrpit type="text/javascript" src="{% static 'js/base.js' %}"></scrpit>
<scrpit type="text/javascript" src="{% static 'js/bootstrap.js' %}"></scrpit>
<script type="text/javascript" src="{% static 'js/swiper.jquery.js' %}"></script>

具体代码如下:
[HTML] 纯文本查看 复制代码
{% extends 'base_main.html' %}
{% load static %}

{% block ext_js %}
    {{ block.super }}
{#    <script type="text/javascript" src="{% static 'js/jquery.js' %}"></script>#}
    <script type="text/javascript" src="{% static 'axf/main/js/market.js' %}"></script>
{% endblock %}


以致于报错:
[Asm] 纯文本查看 复制代码
market.js:1 Uncaught ReferenceError: $ is not defined


查看源代码:
[HTML] 纯文本查看 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
</head>

<body>
<scrpit type="text/javascript" src="/static/js/jquery.js"></scrpit>
<scrpit type="text/javascript" src="/static/js/base.js"></scrpit>
<scrpit type="text/javascript" src="/static/js/bootstrap.js"></scrpit>
<script type="text/javascript" src="/static/js/swiper.jquery.js"></script>

    


    <script type="text/javascript" src="/static/axf/user/js/register.js"></script>


js文件其实已经继承过来了,但是并没有起作用,如果取消掉第11行<script type="text/javascript" src="{% static 'js/jquery.js' %}"></script>的注释,就不会报此错误。
从代码中看,jq是在js之前加载的,但是为什么没有能够被js调用呢?


嗯,拼写错误导致的,大意了

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

井右寺 发表于 2019-9-9 08:32
文件已经被包含了,但是没有生效对吧?
把jquery的引入往上提,提到最上面的位置试试呢?
有可能是jq还没加载进来的时候,别的js文件已经开始调用他了
 楼主| thepoy 发表于 2019-9-9 10:13
本帖最后由 thepoy 于 2019-9-9 10:16 编辑
井右寺 发表于 2019-9-9 08:32
文件已经被包含了,但是没有生效对吧?
把jquery的引入往上提,提到最上面的位置试试呢?
有可能是jq还没 ...

最开始jquery就是在第一位,没生效我把它往下挪了挪,现在已经挪回了第一位,还是不生效。
我觉得原因就是jq没加载完,就被调用了。
但源码里jq确实是在js之前加载了啊。
现在的代码如下:
[HTML] 纯文本查看 复制代码
<scrpit type="text/javascript" src="/static/js/jquery.js"></scrpit>
<scrpit type="text/javascript" src="/static/js/base.js"></scrpit>
<scrpit type="text/javascript" src="/static/js/bootstrap.js"></scrpit>
<script type="text/javascript" src="/static/js/swiper.jquery.js"></script>

    


    <script type="text/javascript" src="/static/axf/user/js/register.js"></script>

井右寺 发表于 2019-9-9 10:39
thepoy 发表于 2019-9-9 10:13
最开始jquery就是在第一位,没生效我把它往下挪了挪,现在已经挪回了第一位,还是不生效。
我觉得原因就 ...

F12控制台 $ 输出一下,看有没有值,会不会是jq错误了
你也没写异步加载,按理应该会顺序加载的,不会错的才对啊
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-30 11:25

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表