首页 > 解决方案 > 烧瓶开发的Javascript代码问题

问题描述

我是 Flask 开发的新手。我的 HTML 表单上有两个按钮。单击其中一个按钮会执行 python 脚本,因此集成在烧瓶脚本中。而另一个按钮只是使用 javascript 代码清除表单。不幸的是,javascript 按钮也在调试模式下导航到烧瓶代码。

该代码在没有烧瓶环境的情况下工作正常。然而,不知何故烧瓶在 javascript 之前。javascript 的其他功能照常工作。

<script  src="{{ url_for('static', filename='js/main.js') }}" ></script>

<div class="form-submit">
<input type="submit" value="Reset All" class="submit" name="reset" id="reset" class ="resetClass"/>
<a href=”/submit_form_main”&gt;<input type="submit" value="Save and Generate" class="submitClass" name="submit" id="submit" /></a>                        </div>
      $('#reset').on('click', function(){
          $('#register-form').reset();
      });
@app.route('/main', methods=['POST'])
def submit_form():
    try:
        submit_form_main()
    except:
        submit_form_main2()

jQuery 代码不再工作。它给出了一个错误“重置不是函数”然后,它转到代码的烧瓶一侧并中断。

标签: javascriptpythonjqueryflask

解决方案


我注意到这实际上并不指向 Flask 路线:

<a href=”/submit_form_main”&gt;

尝试将其更改为

<a href="{{url_for('submit_form')}}">

或者

<a href="/main">

第一个示例使用 Jinja 模板化与您的def submit_form():方法关联的路由/URL,第二个示例直接使用 URL。

正如您目前拥有的那样,您正在尝试直接通过 调用后端函数<a href>,但这应该指定要访问的 URL/路由,然后根据您为该路由编写的任何后端逻辑调用一个方法。

另外:它不在您发布的片段/示例中,因此请确保您正在加载 jQuery。


推荐阅读