У меня есть страница входа в систему 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>
Я знаю, что это не безопасный метод, однако я будет прогрессировать в том, чтобы сделать его более безопасным, как только я смогу заставить это работать ... детские шаги и все такое. Если бы вы могли предложить причину, по которой это не сработало, и какие-либо улучшения (которых, я уверен, их много), я был бы очень рад.
Большое спасибо