Ajax-запрос отправляется более одного раза при нажатии кнопки один раз - PullRequest
0 голосов
/ 05 октября 2018

У меня есть событие размытия, прикрепленное к полю ввода, которое используется для отправки запроса AJAX.Когда я ввел это поле и щелкнул на вкладке «Сеть» разработчика, то заметил, что запускаются несколько запросов AJAX.Без перезагрузки страницы, если я продолжу нажимать на поле ввода и нажимать (повторяя первое действие), AJAX запрашивает приращение на 1.
Это мой код

var accountnumber=$('#account-number');
var submit_btn = $('#submit-btn');
var message = $('#message');  
accountnumber.blur(function () {
    let accountnumber = $(this).val();
    if(accountnumber.length > 0 && accountnumber.length < 10){
        message.html('<span class="mage-error">Your account number must be 15 digits</span>')
        submit_btn.attr('disabled', true);
    }else{
        if(accountnumber.length > 0){
            submit_btn.attr('disabled', true);
            message.html('<img src="'+loader+'" alt="Loading..." /> Verifying account number ');
            // Send ajax request to check for account number
            $.ajax({
                url: siteurl+"uaccount/account/verify",
                data: {account_num:accountnumber},
                method: 'POST'
            }).done(function(data){
                message.html('<span style="color: green">'+data.msg+'</span>');
                submit_btn.removeAttr('disabled');
            }).error(function(err){
                $('#accountnumber').val('');
                message.html('<span style="color: red">'+err.responseText+'</span>');
            })
        }else{
            submit_btn.removeAttr('disabled');
        }
     }
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...