javascript – 如何在jquery中获取多个延迟调用的ajax结果?
作者:互联网
我正在尝试获取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>
标签:jquery,javascript,jquery-deferred 来源: https://codeday.me/bug/20190515/1109610.html