未捕获的ReferenceError:$未定义python flask

时间:2018-02-18 15:03:40

标签: javascript python html flask

我正在尝试运行我的JavaScript,以便在python flask上单击按钮时产生警报。我遇到的问题是我在JS文件第一行中出现错误:Uncaught ReferenceError: $ is not defined。甚至首先交换$ 使用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>

我的JavaScript文件很简单:

$(document).ready(function(){
    $("#rand").click(function(){
        window.alert("its working!");
    });
});

1 个答案:

答案 0 :(得分:3)

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

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