Flask / Jquery - пытается запросить значение, но появляется эта ошибка: поднять исключение.BadRequestKeyError (key) - PullRequest
0 голосов
/ 10 февраля 2020

Я сейчас пробую немного Jquery в сочетании с Flask. Проблема, с которой я сталкиваюсь, заключается в том, что, если я хочу сделать запрос переменной, он выдаст мне эту ошибку «поднять исключения» .BadRequestKeyError (key) ».

Кто-нибудь знает, как это исправить? Я хотел бы ввести число в поле ввода и после нажатия кнопки «вкл.» Я хотел бы напечатать это значение на моем терминале.

@app.route("/led/<int:state>", methods=['POST', 'GET'])
def led(state):
    if state == 0:
        print("es ist 0")
    elif state == 1:
        intervall = request.form['intervallMinuten']
        print(intervall)
    else:
        return ('Unknown LED state', 400)
    return ('', 204)

<div class="col-md-4">
    <label>Intervall in <strong>Minuten</strong>:</label>
    <input type="number" id="intervall" step="0.1" name='intervallMinuten'> </input>
    <h3>LED</h3>
    <button class="btn btn-default" type='button' id='led_on'>LED ON</button>
    <button class="btn btn-default" type='button' id='led_off'>LED OFF</button>
</div>
<script src="https://code.jquery.com/jquery-1.12.0.min.js"></script>
        <script>window.jQuery || document.write('<script src="js/vendor/jquery-1.12.0.min.js"><\/script>')</script>

        <script>
          $(document).ready(function() {
            // Setup button click handlers.
            $('#led_on').click(function() {
                console.log('LED on!');
              $.post('/led/1');
            });
            $('#led_off').click(function() {
                console.log('LED off!');
              $.post('/led/0');
            });
            });
        </script>

1 Ответ

1 голос
/ 10 февраля 2020

Вам необходимо добавить 'intervallMinuten' в форму сообщения, например:

<script src="https://code.jquery.com/jquery-1.12.0.min.js"></script>
        <script>window.jQuery || document.write('<script src="js/vendor/jquery-1.12.0.min.js"><\/script>')</script>

        <script>
          $(document).ready(function() {
            // Setup button click handlers.
            $('#led_on').click(function() {
                console.log('LED on!');
              $.post('/led/1',{intervallMinuten: 2});
            });
            $('#led_off').click(function() {
                console.log('LED off!');
              $.post('/led/0', {intervallMinuten: 2});
            });
            });
        </script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...