Ami*_*abh 5 javascript jquery jquery-deferred
我正在尝试获取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>
Run Code Online (Sandbox Code Playgroud)
两个调用完成后,我想提取两个调用返回的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>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1161 次 |
| 最近记录: |