下面我的「值」變量沒有被繼承到第二個調用。建議如何重建此方法以使其起作用?重構嵌套的ajax調用,所以變量的工作
首先,我從我們的數據表中獲取所有數據。然後,我需要從一個完全不同的數據庫(更改控制)中獲取未完成的更改。如果它存在,我需要顯示第二個數據。
function getData(appid) {
$.ajax({
url: 'services/getData',
type: 'GET',
data: { 'appid': appid },
dataType: 'json',
success: function (data) {
var field1Value = data.field1;
var field2Value = data.field2;
var field3Value = data.field3;
//get pending changes
$.ajax({
url: 'services/getPendingChanges',
type: 'GET',
data: { 'appid': appid },
dataType: 'json',
success: function (data2) {
if (data2.field1 <> '') { field1value = data2.field1 };
if (data2.field2 <> '') { field1value = data2.field2 };
if (data2.field2 <> '') { field1value = data2.field2 };
},
complete: function() {
//set data in UI regardless of whether it came from getData or getPendingChanges
$('#txtField1').html(field1value);
$('#txtField2').html(field2value);
$('#txtField3').html(field3value);
}
})
}
})
}
當然,當我這樣做時,所有「*值」變量都是未定義的。
你能舉個例子說明你對包裝的想法有什麼想法嗎?我嘗試將變量聲明移至功能級別,並且遇到同樣的問題。 –