Я делаю несколько запросов на данные JSONP с помощью jQuery, как мне определить, какой запрос идет с каким результатом? - PullRequest
1 голос
/ 23 января 2011

Результаты возвращаются не по порядку из последовательности, которую я сделал.Если я жду каждый запрос, чтобы завершить, результаты в порядке, но это займет больше времени, чем я хотел бы.Могу ли я отследить, какой результат принадлежит какому запросу?

РЕДАКТИРОВАТЬ: По запросу я добавляю код, который выполняет вызовы JSON.

for (var i = 0; i < rssLinkDB.length; i++) {
  jQuery.getJSON(encoded, function(data){
    yLinkDB.push(data.query.results.result);
    index++;
    if (index == 10) {
      state = "RequestLikes";
    }
  });         
}

Ответы [ 2 ]

1 голос
/ 23 января 2011

Если вы вызываете метод на стороне сервера, вы можете использовать собственный заголовок HTTP в качестве флага для отслеживания владения запросом / ответом.

Добавьте пользовательский заголовок HTTP в методе на стороне сервера и используйте его ключ для получения значения со стороны клиента:

// In Server Side method (e.g ASP.NET Page Method):
HttpContext.Current.Response.AddHeader("MyCustomKey", "TheValue");


// In jQuery callback body:
var myCustomHeader = XMLHttpRequest.getResponseHeader("MyCustomKey");
// now do whatever you want based on myCustomHeader value...
0 голосов
/ 23 января 2011

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

callbackHandlersNS.callback1 = function () {/* handle first request*/};
callbackHandlersNS.callback2 = function () {/* handle second request*/};
...
...