django在js报错Uncaught ReferenceError: $ is not defined
本帖最后由 thepoy 于 2019-9-9 17:03 编辑有个base.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:
{% 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继承过来,但是并没有生效:
<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>
具体代码如下:
{% 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 %}
以致于报错:
market.js:1 Uncaught ReferenceError: $ is not defined
查看源代码:
<!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调用呢?
嗯,拼写错误导致的,大意了
文件已经被包含了,但是没有生效对吧?
把jquery的引入往上提,提到最上面的位置试试呢?
有可能是jq还没加载进来的时候,别的js文件已经开始调用他了 本帖最后由 thepoy 于 2019-9-9 10:16 编辑
井右寺 发表于 2019-9-9 08:32
文件已经被包含了,但是没有生效对吧?
把jquery的引入往上提,提到最上面的位置试试呢?
有可能是jq还没 ...
最开始jquery就是在第一位,没生效我把它往下挪了挪,现在已经挪回了第一位,还是不生效。
我觉得原因就是jq没加载完,就被调用了。
但源码里jq确实是在js之前加载了啊。
现在的代码如下:
<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>
thepoy 发表于 2019-9-9 10:13
最开始jquery就是在第一位,没生效我把它往下挪了挪,现在已经挪回了第一位,还是不生效。
我觉得原因就 ...
F12控制台 $ 输出一下,看有没有值,会不会是jq错误了
你也没写异步加载,按理应该会顺序加载的,不会错的才对啊
页:
[1]