Проверьте логин без обновления - PullRequest
0 голосов
/ 12 апреля 2020

как я могу изменить свой код, который будет проверять логин и пароль без обновления? 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')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...