Отправить запрос в Flask с помощью JQuery - PullRequest
1 голос
/ 26 сентября 2019

Не могу понять, где все идет не так, почти ничего не знаю JQuery, вероятно, именно поэтому ..

Все, что я пытаюсь сделать, это передать имя пользователя маршруту в application.pyпоэтому я могу запросить таблицу пользователей, чтобы попробовать (извините, рифма, что это был длинный день)

html и моя попытка jquery:

{% extends "layout.html" %}

{% block title %}
    Register
{% endblock %}

{% block main %}
    <form novalidate action="/register" method="post">
        <div class="form-group">
            <input autocomplete="off" autofocus class="form-control" name="username" placeholder="Username" type="text" id="idUserName">
            <small id="idUsername" class="form-text text-muted">
                Please enter username
            </small>
        </div>
        <div class="form-group">
            <input class="form-control" name="password" placeholder="Password" type="password" id="idPword1" onkeyup='checkLength()'>
            <small id="passwordHelpBlock" class="form-text text-muted">
                Must be 8-20 characters long
            </small>
        </div>
        <div class="form-group">
            <input class="form-control" name="password2" placeholder="Re-enter Password" type="password" id="idPword2" onblur='checkMatch()'>
            <small id="password2HelpBlock" class="form-text text-muted">
                Passwords need to match
            </small>
        </div>
        <button class="btn btn-primary" type="submit" id="idSubmit">Register</button>
    </form>

    <script>

        // checkUsername
        $(document).ready(function() {

            $('#username').on('blur', function(event) {
                $.ajax({
                    data : {
                        userName : $('#username').val(),
                    },
                    type : 'POST',
                    url : '/checkUser'
                    })
                .done(function(data) {
                    console.log($('#output').text(data.output).show());
                });
                event.preventDefault();
                });
        });

    </script>

console.log вышеничего не возвращает ..

Маршрут в application.py:

@app.route("/checkUser", methods=['POST'])
def checkUser():
    get_username = request.form['userName']

    return jsonify(output=get_username)

1 Ответ

0 голосов
/ 26 сентября 2019

Вы можете попробовать это:

  $.ajax({
    type: '',
    url: '',
    data: '',
    success: function (data) {
      // 
      console.log($('#output').text(data.output).show());
    },
    error: function (err) {
      //
    }
  })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...