【发布时间】:2013-07-01 14:10:27
【问题描述】:
我有一个 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]。
【问题讨论】:
-
为什么是
jsonData[2]而不是jsonData[1]? -
jsonData[1]就是"success"
标签: ajax asp.net-mvc json jquery