Javascript 未捕获引用错误:$未定义

Javascript 未捕获引用错误:$未定义,javascript,python,html,flask,Javascript,Python,Html,Flask,我正在尝试运行JavaScript,以便在单击python flask上的按钮时生成警报。我遇到的问题是JS文件第一行中有一个错误:uncaughtreferenceerror:$未定义。即使先交换$ 使用jQuery仍然不起作用 我的结构是: app: - main.py - static - js - mainJs.js - lib - jquery-2.2.4.min.js -

我正在尝试运行JavaScript,以便在单击python flask上的按钮时生成警报。我遇到的问题是JS文件第一行中有一个错误:
uncaughtreferenceerror:$未定义
。即使先交换
$
使用jQuery仍然不起作用

我的结构是:

app: - main.py
     - static    - js - mainJs.js
                    - lib -  jquery-2.2.4.min.js
                          -  jquery-ui.js

                 - css - stylesheet.css
     - templates - index.html
我确信我正确导入了所有内容,因为我的html文件是:

<!DOCTYPE html>
<html>
<head>
    <title>First doc</title>
    <meta charset="UTF-8">
    <link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='css/stylesheet.css') }}">
    <script type="text/javascript" src="{{ url_for('static', filename = 'js/mainJs.js') }}"></script>
    <script type="text/javascript" src="{{ url_for('static', filename = 'js/lib/jquery-2.2.4.min.js') }}"></script>
    <script type="text/javascript" src="{{ url_for('static', filename = 'js/lib/jquery-ui.js') }}"></script>
</head>
<body>

    {{err}}
    <form id="commentForm" action="/addComment" method="POST">
        <table>
            <tr>
                <td>
                    <textarea id="username" rows="1" cols="50"  name="username"></textarea>
                </td>
            </tr>
            <tr>
                <td>
                    <textarea rows="4" cols="50" id="textArea" name="thetext"></textarea>
                </td>
            </tr>
        </table>
        <input id="rand" type ="submit" value="Submit" onclick = "substitute()" />
    </form>

    {% for item in Message %}
    <table>
        <tr>
            <td>
                {{item}}
            </td>
        </tr>
    </table>
    {% endfor %}
    <div id="testDiv"> 
    </div>
</body>
</html>

加载
.js
文件的顺序很重要,因为在加载
jquery
之前,您正在文件中引用
$


将文件导入放在jquery之后以解决问题。

加载
.js
文件的顺序很重要,因为在加载
jquery
之前,您在文件中引用了
$


将文件导入放在jquery之后以解决问题。

在javascript标记上使用
defer
属性,并在关闭主体之前添加它。在javascript标记上使用
defer
属性,并在关闭主体之前添加它,我明白了,这解决了问题。谢谢你,先生!我明白了,这解决了问题。谢谢你,先生!
$(document).ready(function(){
    $("#rand").click(function(){
        window.alert("its working!");
    });
});