【问题标题】:Why my ajax code not run with Python Flask?为什么我的 ajax 代码不能与 Python Flask 一起运行?
【发布时间】:2019-03-21 05:00:05
【问题描述】:

我只是做一些从 ajax 到 Flask 的简单请求,但它不起作用。

这是我的 basic.html vs js/basic.js 代码:

$(document).ready(function(){
  $('form').on('submit', function(e) {
    $.ajax(type: 'GET', url: '/home/check').done(function(data){
      $('#status_id').text("Submitted");
    });
    e.preventDefault();
  });
});
{% extends 'layout.html' %}

{% block main %}
<script src="{{ url_for('static', filename='js/basic.js') }}" charset="utf-8"></script>
<h1 id="status_id"></h1>
<form>
  <div class="form-group">
    <input type="text" class="form-control" name="url" id = "urlInput" aria-describedby="urlHelp" placeholder="">
    <small id="urlHelp" class="form-text text-muted">Enter URL or some message to generate your QR code.</small>
  </div>
  <button type="submit" class="btn btn-primary">Generate</button>
</form>
<img src="/static/images/new.png" alt="There is no image!">
{% endblock %}

这是我的 python 代码,我已经注册了一个名为 bp_home 的蓝图:

bp_home = Blueprint('home', __name__, url_prefix='/home')
@bp_home.route('/check')
def check():
    return jsonify({"isValid": "True"})

@bp_home.route('/basic_generator')
def basic_generator():
    return render_template('home/basic.html')

上面的代码不起作用,当我提交表单时,它会自动重定向到 GET 方法,如下所示: http://127.0.0.1:5000/home/basic_generator?url= 有什么建议吗??

【问题讨论】:

  • basic_generator 是否出现在您的代码中的其他位置?如果是这样,请向我们展示那段代码。
  • 我已经编辑过,但我认为它不会影响我得到的内容
  • 是因为我的脚本中的绝对路径吗?

标签: python jquery ajax flask


【解决方案1】:

我想我已经解决了。问题是我正在使用从引导文档复制的 jquery.slim.min cdn 版本,它错过了 ajax 的许多功能。改成jquery.min版本,一切OK。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-13
    • 1970-01-01
    • 1970-01-01
    • 2018-11-21
    • 2020-06-04
    • 1970-01-01
    • 1970-01-01
    • 2017-10-22
    相关资源
    最近更新 更多