Нужны ли эти AJAX-вызовы после завершения предыдущего - PullRequest
1 голос
/ 17 февраля 2011

Итак, у меня есть метод JavaScript, который запускается после того, как пользователь установил определенные флажки. Этот метод выполняет один вызов AJAX для отображения представления «заголовка», а затем выполняет вызов AJAX для каждого из выбранных флажков, а затем добавляет эти представления также.

Проблема в том, что когда я перебираю чекбоксы с помощью JQuery и выполняю вызов AJAX для каждого из них, он просто выполняет несколько вызовов AJAX один за другим в правильном порядке, но они отображаются в разное время в зависимости от того, сколько времени занимает каждый. Полагаю, в этом прелесть AJAX, но мне нужно, чтобы он отображался в том порядке, в котором я их вызываю для этой конкретной задачи.

Вот метод:

function GenerateTermSheet()
{
    var urlString = "<%= System.Web.VirtualPathUtility.ToAbsolute("~/mvc/Indications.cfc/RenderPartialTermSheetView")%>";
    var jsonNickname = 
    {
        id : GetGUIDValue(),
        viewName : 'Nickname'
    }
    $.ajax({
        type: "POST",
        url: urlString,
        data: jsonNickname,
        success: function(data) {
            $('#termSheetPrinted').append(data);
        }
    });
    $('#termSheetPopup input[type="checkbox"]:checked').each(function(){
        var checkedName = $(this).attr("name");
        var json = 
        {
            id : GetGUIDValue(),
            viewName : checkedName
        }
        $.ajax({
            type: "POST",
            url: urlString,
            data: json,
            success: function(data) {
                $('#termSheetPrinted').append(data);
            }
        });
    })
    $('#termSheetPopup').dialog('close');
    $('#termSheetPrinted').dialog('open');
}

Знаешь, как я могу это сделать? Спасибо!

1 Ответ

0 голосов
/ 17 февраля 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...