У меня есть приложение, которое выводит таблицу через 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,
})
});
});
Я не получаю ошибки, эта система обновляет обновления, база данных иногда берет значение со входа, а иногда и нет. Иногда вам приходится вручную обновлять страницу, чтобы запись больше не отображалась на экране.
Отсутствует некоторый контекст в вашем вопросе, чтобы сделать его более четким, но звучит, как вы должны позвонить 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
});
});
});
});
Тем не менее, вам лучше использовать только один запрос для обновления базы данных и обработки возвращаемого результата на странице...