我需要帮助获取两段数据,并对它们进行比较。如何从ajax调用中分别获取两个对象并进行比较?
我想在这里创建的是一个用于将组与员工关联的系统。在员工的详细信息页面上,用户有一个显示弹出窗口的按钮。在这个弹出窗口中有员工可以关联的组列表。该列表(复选框输入安排为一个按钮集)将填充所有组,然后我希望每个组都与该员工已关联进行检查,以便它们显示为突出显示。
我想用下面的代码来实现这一点(但没有):
function loadAllGroups() {
var iGroupID;
var iGroupName;
$.ajax({
type: 'POST',
url: '../Processes/process_Groups.aspx/GetGroups',
contentType: 'application/json; charset=utf-8',
data: '{}',
dataType: 'json',
success: function (aData) {
var AllGroups = aData.d;
var EmployeeGroups;
$.ajax({
type: 'POST',
url: '../Processes/process_Groups.aspx/GetGroupsPerEmployee',
contentType: 'application/json; charset=utf-8',
data: '{EmployeeID: ' + EmployeeID + '}',
dataType: 'json',
success:
function (eData) {
EmployeeGroups = eData.d;
},
error:
function (jqXHR, textStatus, errorThrown) { errorBox.append(jqXHR.responseText); }
});
$.each(AllGroups, function (aIndex, aGroup) {
var iChecked = '';
$.each(aGroup, function (aKey, aVal) {
if (aKey == 'GroupID') { iGroupID = aVal }
if (aKey == 'GroupName') { iGroupName = aVal }
});
$.each(EmployeeGroups, function (eIndex, eGroup) {
$.each(eGroup, function (eKey, eVal) {
if (eKey == 'GroupID') {
if (iGroupID == eVal) { iChecked = 'checked="checked"' } else { iChecked = '' }
}
});
});
GroupsList.append('<input type="checkbox" id="Group_' + iGroupID + '" value="' + iGroupID + '" ' + iChecked + ' /><label for="Group_' + iGroupID + '">' + iGroupName + '</label>');
});
GroupsList.buttonsetv();
},
error:
function (jqXHR, textStatus, errorThrown) { errorBox.append(jqXHR.responseText); }
});
}
我认为做一个Ajax调用内的Ajax调用一个没有没有。我只是不知道如何访问每个ajax调用返回的两个数据对象,以便比较它们。
我没有看到另一个Ajax调用第一个成功的可能是一个问题?有什么错误? – RTulley 2012-03-21 19:42:52
@RTully我正在将EmployeeGroups返回为'undefined',我认为它与GetGroupsPerEmployee ajax调用是否在执行下面的代码之前返回了一个值有关。 – MarkieB 2012-03-22 17:59:31