아래의 "값"변수는 두 번째 호출로 상속되지 않습니다. 이것을 재구성하여 작동하도록 권장되는 방법은 무엇입니까?변수가 작동하도록 중첩 된 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);
}
})
}
})
}
물론 이렇게하면 "* value"변수가 모두 정의되지 않습니다.
래퍼 아이디어에 대해 어떻게 생각하는지 예를 들려 줄 수 있습니까? 나는 변수 선언을 함수 레벨까지 옮겨 보았고 같은 문제가 발생했다. –