我正在使用jQuery tabControl.Template.LoadContent();
tabControl.ApplyTemplate();
tabControl.UpdateLayout();
,以便在完成所有请求后处理多个GET请求的结果。一切都运作良好,但我想分配
每个对作为请求URL一部分的特定ID的响应。
我怎么能这样做?
不幸的是,我无法更改Web服务以在响应中提供ID。
$.when
答案 0 :(得分:2)
您可以使用函数
包装请求function loadCustomer(customerId) {
return $
.get("../webservice?customerId=" + customerId)
.then(function (data) {
return {customerId: customerId, data: data};
});
}
并像这样使用
var requestList = [232, 3232].map(loadCustomer);
$.when.apply($, requestList).done(function() {
$.each(arguments, function(_, data) {
console.log("Result for customer ID " + data.customerId + " is: "+ data.data);
});
});
或者您可以修改输入数据并添加customerId
function loadCustomer(customerId) {
return $
.get("../webservice?customerId=" + customerId)
.then(function (data) {
data.customeerId = customerId;
return data;
});
}
@Alnitak提到 UPD 。如果您需要$.ajax
传递的其他参数,您可以将它们添加到返回对象以及您需要的任何格式。