я получил функцию Ajax, которая выглядит, как этотAjax функция оленья кожа завершена до второй работает
function PersonAtlLawUpdate(personRef) {
var selectionPanel = $('div#SelectionPanel');
var fromdate = selectionPanel.find('input#FromDateTextBox')[0].defaultValue;
var timeSpan = selectionPanel.find('select#TimeSpanDropdownList').data('timespanvalue');
var url = "MonthOverview.aspx/OnePersonAtlLawUpdate";
$.ajax({
url: url,
data: JSON.stringify({ personRef: personRef, fromdate: fromdate, timespan: timeSpan }),
type: "POST",
contentType: "application/json",
dataType: "JSON",
context: document.body,
success: function (atlError) {
changePersonAtlStatusIcon(atlError, personRef);
},
error: function (xhr, status, errorThrown) {
//alert(errorThrown + '\n' + status + '\n' + xhr.statusText);
}
});
}
В одной функции мне нужно запустить это в два раза, как это:
PersonAtlLawUpdate($(gMarkedCell).parent("tr").attr("personref"));
PersonAtlLawUpdate(pRef);
Проблема, которая может быть в том, что в некоторых случаях не работает на 100%. Функция dom не обновляется в одной из функций. И я думаю, что это потому, что другой «перезаписывает» его.
Итак, как я могу убедиться, что второй «PersonAtlLawUpdate» запускается после первого завершения? Нехорошо, что положил на это задержку. И это хорошее решение для установки async на false в вызове ajax?
EDIT, tride like this и поместил console.log в мой успех. Но «все в комплекте» будет работать первый из них:
$.when(PersonAtlLawUpdate($(gMarkedCell).parent("tr").attr("personref")), PersonAtlLawUpdate(pRef)).then(function(){console.log("all complete")});
Второй Безразлично» t запустить. Не имеет значения, если я создаю console.log. Разве он не считается другим параметром, когда я помещаю функцию в свой PersonAtlLawUpdate? Хорошая мысль переосмыслить проблему, вызвав одну и ту же функцию дважды. Возможно, это изменится позже, когда у меня будет больше времени. – thatsIT
То же самое, что и отправить второй параметр «personRef» в качестве параметра, а в моей функции ajax запустить его следующим образом: function PersonAtlLawUpdate (personRef, cbFunc) {..... В случае успеха: if (cbFunc! = Null) { PersonAtlLawUpdate (cbFunc, undefined); }? – thatsIT