![](/img/trans.png)
[英]How to merge results of two jQuery AJAX calls and use deferred/promise
[英]How to get the ajax results for multiple deferred calls in jquery?
我正在尝试获取jquery延迟工作,如下面的代码所示。
<script type="text/javascript">
var appUrls = {
GetDataUrl : '@Url.Action("GetData")'
};
function GetData1(){
return $.getJSON(appUrls.GetDataUrl, { Id: 1 });
}
function GetData2() {
return $.getJSON(appUrls.GetDataUrl, { Id: 2 });
}
$(function(){
$("#result").html("Getting Data1, Data2 .... ");
$.when(GetData1(), GetData2())
.then(function(result){
//The 'result' only contains the data from first request.
console.log(result);
$("#result").html("Completed GetData1, GetData2");
});
});
</script>
两个调用完成后,我想提取两个调用返回的Json数据。 但是,'result'对象只包含第一次调用返回的数据(GetData1)? 如何在上面的'then'回调方法中获得两个调用的结果。
由于你有两个请求,你将获得两个参数result1,result2
:
<script type="text/javascript">
var appUrls = {
GetDataUrl : '@Url.Action("GetData")'
};
function GetData1(){
return $.getJSON(appUrls.GetDataUrl, { Id: 1 });
}
function GetData2() {
return $.getJSON(appUrls.GetDataUrl, { Id: 2 });
}
$(function(){
$("#result").html("Getting Data1, Data2 .... ");
$.when(GetData1(), GetData2())
.then(function(result1,result2){
console.log(result1);
console.log(result2);
$("#result").html("Completed GetData1, GetData2");
});
});
</script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.