function getReportGroups() {
$.ajax({
contentType: "application/json; charset=utf-8",
url: "ReportGroups.ashx",
data: {
'method': 'getReportGroups',
'projectId': '30390'
},
dataType: "json",
success: function (data) {
alert('inside success');
var i = 0;
groupName = [data[i].name];
while (data[i] != null) {
alert([data[i].name]);
alert([data[i].reportGroupId]);
$("#top-node").append("<li item-checked='true' item-expanded='true'><a href=# style=font-weight:bold>" + [data[i].name] + "</a>");
i++;
var id = [data[i].reportGroupId];
getReports(id);
}
},
error: function (result) {
alert("Error- Inside the error loop");
}
});
}
function getReports(id) {
$.ajax({
contentType: "application/json; charset=utf-8",
url: "ReportGroups.ashx",
data: {
'method': 'getReports',
'reportGroupId': id
},
dataType: "json",
success: function (data) {
alert('inside getReports success');
var i = 0;
groupName = [data[i].name];
while (data[i] != null) {
alert([data[i].name]);
i++;
}
},
error: function (result) {
alert("Error- Inside the error loop");
}
});
}
这是我的代码。 这里,当我使用参数id从getReportGroups()调用getReports(id)时,id在getReoprts()函数中传递为零。我不知道这个问题是什么。我使用一个警告框来检查第一个中是否存在'id',它确实..我在getReportsFunction中有一个有效的ID。但我在第二个时候将id设为零。我在这做错了什么?
答案 0 :(得分:0)
在调用i
之前看起来你正在递增var id = data[i].reportGroupId
,在第一次迭代时测试值(alert([data[i].reportGroupId]
);)。
将i++
移动为while循环的最后一个语句,看看这是否可以解决您的问题。
答案 1 :(得分:0)
问题看起来像i++
,您可以使用.each()来遍历数据
$.each(data, function(idx, item){
alert(item.name);
alert([item.reportGroupId]);
$("#top-node").append("<li item-checked='true' item-expanded='true'><a href=# style=font-weight:bold>" + [item.name] + "</a>");
var id = [item.reportGroupId];
getReports(id);
})