как я могу изменить свой код, который будет проверять логин и пароль без обновления? Ajax вызвать функцию в django, чтобы проверить логин и пароль, а затем отправить. json с результатом. Далее я хочу отобразить ошибку в js, если результат не удался, или воспроизвести анимацию, если это правда.
js code:
function CheckBeforeSend()
{
var LoginInput = document.getElementById('flogin');
if(LoginInput.value.match(/^[a-zA-Z]+['.']+[a-zA-Z]+[0-9]+$/) == null)
{
if(document.getElementById('Windows').childElementCount > 2)
{
document.getElementById('Windows').children[0].remove();
}
AddPicture("paperJsConn");
}
else
{
document.getElementById("button").type = "submit";
$.ajax({
url: 'http://127.0.0.1:8000/',
data: $('#login_form').serialize(),
type: "POST",
async:false,
success: function(response) {
var CheckingCorrect = response['result'];
//if checkingcorrect play func animation.
},
error: function(error){
alert('No Connection!');
}
});
}
}
$('#login_form').submit(function(e){
e.preventDefault();
$.post('view-url', $(this).serialize());
}); // this event dont work.
views.py:
def Logget(request):
if request.method == 'POST':
login = request.POST.get('flogin')
response_data = {}
response_data['result'] = 'Failed'
lengthBase = UsersLog.objects.count()
for i in range(lengthBase):
if login == str(UsersLog.objects.get(id=i+1)):
password = request.POST.get('lpass', False)
if str(password) == str(UsersLog.objects.get(id=i+1).password):
response_data['result'] = 'Succes'
break
return JsonResponse(response_data)
return render(request, 'index.html')