проблема обновления данных с использованием модели и AJAX - PullRequest
0 голосов
/ 27 марта 2019

У меня проблема с обновлением данных с использованием модели и AJAX. Когда я нажимаю кнопку Сохранить на модели, мои данные появляются дважды.

my data appears twice

После того, как я нажал на страницу перезагрузки:

button

Возвращается к нормальной странице, на которой я хочу показать данные только один раз. Вот результат, который я хочу получить после нажатия кнопки Сохранить.

Here is the result that I want after I click the save button

У кого-нибудь была такая же проблема раньше? Я понятия не имею, что я сделал не так.

Код кнопки сохранения:

$('#saveBtn').click(function() {
    //alert('hello');
    var url = $('#myForm').attr('action');
    //var data = $('#myForm').serialize();
    if(true) {
         $.ajax({
        type: 'ajax',
        method: 'post',
        url: url,
        data: $('#myForm').serialize(),
        datatype: 'json',
        success: function() { 
            $('#modal_form').modal('hide');
            //$('#myForm')[0].reset();
            getStatu(); 
        },
        error: function() {
            alert('Error');
        }
    });
    } else {
        alert('error');
    }
});

Функция getStatu ():

function getStatu() {
    $.ajax({
        type: 'ajax',
        url: url,
        dataType: 'json',
        success: function(data) {
            //console.log(data);
            var html = '';
            var i;
            for(i=0; i<data.length; i++) {
                var row = $('<tr></tr>');
                          $('<td></td>').appendTo($(row)).html(data[i].name);
                          $('<td></td>').appendTo($(row)).html(getDot(data[i].online));
                          $('<td></td>').appendTo($(row)).html(getDot(data[i].offline));
                          $('<td></td>').appendTo($(row)).html(data[i].comment);
                          $('<td></td>').appendTo($(row)).html('<a href="javascript:;" class="btn btn-primary edit" data="'+data[i].statuid+'">Edit</a>');
                $('#info').append($(row)); 

                function getDot(data) {
                    var div = '';
                    if(data) {
                        div = $('<div class="dot"></div>');
                        if(data === 'IN') {
                            $(div).addClass('green-dot');
                        } else if(data === 'OUT') {
                            $(div).addClass('red-dot');
                        }
                    }
                    return div;
                }
            }
        },
        error: function() {
            alert('Fail to load data');
        }
    });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...