为什么我的Ajax代码不能与Python Flask一起运行?

时间:2019-03-21 05:00:05

标签: python jquery ajax flask

我只是在做一些简单的请求,从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= 有什么建议吗?

1 个答案:

答案 0 :(得分:2)

我想我已经解决了。问题是我正在使用引导文档中的jquery.slim.min cdn版本复制,而该文档缺少许多ajax功能。将其更改为jquery.min版本,一切正常。