Ajax Call иногда дает сбой, а иногда работает?

-2

У меня есть приложение, которое выводит таблицу через ajax, каждая строка таблицы имеет поле столбца/ввода для даты расписания. после того, как была введена дата расписания, нажата кнопка обновления внутри этой строки, и мой второй вызов ajax запущен.

Проблема у меня возникает, когда вы выбираете дату и нажимаете кнопку обновления, иногда система работает, а иногда и нет. См. Мой код. Надеюсь, кто-то может пролить свет.

Первый вызов Ajax:

$('.datepicker').datepicker({
                todayHighlight:'TRUE',
                autoclose: true,
            })

    $.post('assets/ajax/calldata/newords.php', function(data) {
        $('#newords').html(data)
        $('.datepicker').datepicker({
                todayHighlight:'TRUE',
                autoclose: true,
            })
    });

Выход из первого вызова Ajax

<table>

  <thead>
  <tr>
    <td>#<td>
    <td>Account</td>
    <td>Date to Scedule</td>
    <td>Action</td>
  <tr>
  </thead>

  <tbody>
    <tr>
      <td>1</td>
      <td>Test Account</td>
      <td>
          <input class="datepicker form-control" type="text" id="datetoprint" name="datepicker" data-date-format="dd/mm/yyyy" placeholder="dd/mm/yyyy">
      </td>
      <td>
          <button class="btn btn-default markScheduled" type="button" id="markScheduled" ordid="56">Scheduled</button>
      </td>
    </tr>
  </tbody>
</table>

Второй вызов Ajax после нажатия обновления по строке:

$(document).on('click', 'button.markScheduled', function(e) {

        var ordid = $(this).attr('ordid');
        var scheduledate = $('input.scheduleDate').val();

        $.ajax({
            url: "assets/ajax/order.php",
            type: "POST",
            data: {ordid: ordid,date: scheduledate},
            success: function(result){

            },
            error: function(exception){
                alert('Exception:' +exception);
            }
        });

        $.post('assets/ajax/calldata/newords.php', function(data) {
            $('#newords').html(data)
            $('.datepicker').datepicker({
                todayHighlight:'TRUE',
                autoclose: true,
            })
        });

    });

Я не получаю ошибки, эта система обновляет обновления, база данных иногда берет значение со входа, а иногда и нет. Иногда вам приходится вручную обновлять страницу, чтобы запись больше не отображалась на экране.

  • 0
    И когда это терпит неудачу, у вас есть какие-либо ошибки ??? Но звучит так, как будто вы должны вызывать второй запрос ajax только после первого / успешного завершения первого запроса.
  • 0
    смотрите в консоли, когда она не работает .... попробуйте поместить $ .post в ваш $ .ajax success и посмотрите.
Показать ещё 3 комментария

1 ответ

0

Отсутствует некоторый контекст в вашем вопросе, чтобы сделать его более четким, но звучит, как вы должны позвонить post запроса только один раз бывший в запросе, например, преуспели:

$(document).on('click', 'button.markScheduled', function (e) {

    var ordid = $(this).attr('ordid');
    var scheduledate = $('input.scheduleDate').val();

    $.ajax({
        url: "assets/ajax/order.php",
        type: "POST",
        data: {
            ordid: ordid,
            date: scheduledate
        },
        error: function (exception) {
            alert('Exception:' + exception);
        }
    }).done(function () {
        $.post('assets/ajax/calldata/newords.php', function (data) {
            $('#newords').html(data).find('.datepicker').datepicker({
                todayHighlight: 'TRUE',
                autoclose: true
            });
        });
    });
});

Тем не менее, вам лучше использовать только один запрос для обновления базы данных и обработки возвращаемого результата на странице...

  • 0
    Как вывести на консоль Chrome?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню