Клиент запрашивает вход на сервер Flask периодически с ajax вызовом - PullRequest
0 голосов
/ 02 мая 2020

У меня есть страница входа в систему html, которая при вводе учетных данных должна указывать go на мой индекс. html страница. На странице входа в систему я делаю ajax запрос к моему flask python маршруту сервер / имя входа, который проверяет учетные данные в моей базе данных и, если он верен, должен разрешить мне доступ.

Однако, когда я ввожу учетные данные в форму входа в систему, она обновляет страницу и не go в индекс. html, но время от времени после многих попыток это будет работать на самом деле. Я не могу понять, почему в очень ограниченном случае это приведет меня к странице индекса. html, и когда она не работает, на самом деле это не выдает ошибку.

Я, очевидно, имею некоторые проблемы с моим кодом, но я не вижу, где и без кода ошибки это делает отладку несколько трудной.

Маршрут на моем flask сервере таков. Я еще не вышел из системы.

@testRestServer.route("/login", methods=['POST', 'GET'])
def login():
    username = request.form['username']
    password = request.form['password']

    cursor.execute('SELECT * FROM users WHERE username = %s AND password = %s', (username, password,))

    conn.commit()
    return "Done"

Мой логин. html Страница с ajax это,

<!DOCTYPE html>

<html lang="en">


<link rel="stylesheet" href="login.css" type="text/css">

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>

<script>
    $(document).ready(function() {

        $('#myform').submit(function() {

            $.ajax({
                type: "POST",
                url: 'http://cs2s.yorkdc.net:5032/login',
                data: {
                    username: $("#username").val(),
                    password: $("#password").val()
                },
                success: function(data) {
                    if (data === 'Done') {
                        window.location.replace('https://cs2s.yorkdc.net/~*****.*****/AWD_Server/');
                    } else {
                        alert(data);
                    }
                }
            });

        });

    });

</script>



<form id="myform" method="POST">
    <div class="login">
        <div class="login-screen">
            <div class="app-title">
                <h1>Login</h1>
            </div>
            <div class="login-form">
                <div class="control-group">
                    <input type="text" class="login-field" value="username" placeholder="" name="username">
                    <label class="login-field-icon fui-user" for="login-name"></label></div>
                <div class="control-group">
                    <input type="password" class="login-field" value="password" placeholder="" name="password">
                    <label class="login-field-icon fui-lock" for="login-pass"></label></div>
                <input type="submit" value="Login" class="btn btn-primary btn-large btn-block">

            </div>
        </div>
    </div>
</form>

</html>

Я знаю, что это не безопасный метод, однако я будет прогрессировать в том, чтобы сделать его более безопасным, как только я смогу заставить это работать ... детские шаги и все такое. Если бы вы могли предложить причину, по которой это не сработало, и какие-либо улучшения (которых, я уверен, их много), я был бы очень рад.

Большое спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...