我有一个 jQuery.when()
进行两次 ajax 调用,然后将数据传递给另一个函数:
function getTableData() {
$.when(ajaxCall1(), ajaxCall2()).then(doStuff);
}
两种 ajax 方法本质上是相同的,只是它们在控制器上使用了不同的方法:
function ajaxCall1() {
return $.ajax({
type: 'POST',
url: 'Controller/ControllerMethod1',
});
}
function ajaxCall2() {
return $.ajax({
type: 'POST',
url: 'Controller/ControllerMethod2',
});
}
我希望doStuff()
每个 ajax 方法传递给的数据都是相同的,但情况似乎并非如此。
function doStuff(jsonData) {
doStuffWithData(jsonData[0]);
doMoreStuffWithData(jsonData[2]);
}
我期望jsonData[0]
并且jsonData[2]
都包含一个对象数组。FireBug 向我展示了以下内容jsonData[0]
:
[Object { Description="Completed", Id=3, ItemTypelist=[2]}, Object { Description="Completed - QC", Id=3, ItemTypelist=[2]}, Object { Description="Completed - Approval Needed", Id=3, ItemTypelist=[2]}, 5 more...]
jsonData[2]
看起来像这样:
Object { readyState=4, responseText="[{"Description":"Comple...Item Type 2","Id":1}]}]", status=200, more...}
为什么这些不同?我需要jsonData[2]
像jsonData[0]
。