我需要幫助獲取兩段數據,並對它們進行比較。如何從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