Как выполнять синхронные вызовы JSONP ajax с помощью Jquery

#jquery #jsonp

#jquery #jsonp

Вопрос:

Я пытаюсь получить информацию об учетной записи для нескольких учетных записей, преобразуя данные XML в JSONP. Проблема в том, что все функции запускаются одновременно, и результаты заполняются по мере поступления запроса GET. Вот сокращенный код:

 $(document).ready(function() {
    GetInfo("user1","pass2");
    GetInfo("user2","pass4");
    GetInfo("user3","pass6");
});

function GetInfo(login, passwd)
{
    login = escape(login);
    login = login.replace(" ","+");

    passwd = escape(passwd);
    passwd = passwd.replace(" ","+");

    var url = "...";
    var yql = 'https://query.yahooapis.com/v1/public/yql?q=select * from xml where url=''   escape(url)   ''amp;format=jsonamp;callback=cbfunc'

    $.ajax({
    type:"GET",
    dataType:"jsonp",
    url: yql,
    });
}

function cbfunc(data)
{
   $('#container').html(data.query.results);
}
  

Этот код возвращает user1, user2, user3 в случайном порядке. В идеале я бы хотел, чтобы каждый вызов блокировался и завершался до перехода к следующему вызову GetInfo. Я впервые работаю с JSONP, поэтому, если мне не хватает каких-либо трюков, я был бы признателен за подсказки. Спасибо

Ответ №1:

Вы можете использовать очередь сообщений jquery. http://benalman.com/code/projects/jquery-message-queuing/docs/files/jquery-ba-jqmq-js.html

Комментарии:

1. Привет, у меня это не работает для запросов JSONP .. может кто-нибудь мне помочь. с помощью этого плагина..