我正在使用jQuery对JSONP数据进行多次请求,如何确定哪个请求与哪个结果有关?

时间:2011-01-22 23:08:12

标签: javascript jquery json jsonp

结果从我制作它们的序列中不按顺序回归。如果我等待每个请求完成结果都没问题,但需要的时间比我想要的要长。有没有办法让我跟踪哪个结果属于哪个请求?

编辑:每个请求我正在添加执行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 个答案:

答案 0 :(得分:1)

如果您正在调用服务器端方法,则可以使用自定义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...

答案 1 :(得分:0)

使回调函数名称唯一/动态,最好命名这些函数,以免污染全局范围。

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