iQuery를 사용하여 서버에 AJAX 호출을하고 값 집합을 반환합니다. 반환되는 값은 동적입니다. 결과 수가 동적 임 결과 세트를보고 HTML 요소에 값을 할당하여 웹 페이지에 표시 할 수 없습니다.JQuery를 사용하여 AJAX 호출의 ResultSet에 값이 있는지 확인하는 방법
결과 집합에 값이 있으면 내 시스템에서 동일한 값을 사용하면 어떻게 보일 수 있는지 조언하십시오. 결과 집합의 최대 개수는 16이고 스크립트에서 수동으로 값을 할당했습니다.
내 웹 페이지의 준비된 문서에서 AJAX 메서드 호출.
$(document).ready(function() {
CallAJAX('../Forms/Send.aspx/refreshDash', '', 'FillMethod', 'FillMethodE');
});
AJAX 호출 정의
function CallAJAX(ServerMethod, Parameters, SuccessMethod, ErrorMethod) {
$.ajax({
type: "POST",
url: ServerMethod,
data: Parameters,
contentType: "application/json; charset=utf-8",
dataType: "json",
error: function (xhr, status, errorThrown) {
Error = xhr; Result.d.ResultSet[0].TRCOUNT
eval(ErrorMethod + "()");
},
success: function (msg) {
Result = msg;
var rr = SuccessMethod + "();";
eval(rr);
}
});
}
오류가 발생할 때 세부 사항 및 프롬프트 메시지를 표시하는 두 jQuery를 기능 사용. 참고 오류 기능이 표시되지 않습니다. 단 Result.d.ResultSet [0] .DASH_NAME 유효한 값을 가지며 다음 인덱스가 어떤 값이없는 경우
function FillMethod() {
if ($.isEmptyObject(Result.d.ResultSet)) {
}
else {
$('[id$=lblCode1]').html(Result.d.ResultSet[0].DASH_NAME);
$('[id$=lblNot1]').html(Result.d.ResultSet[0].TRCOUNT);
$('[id$=lblCode2]').html(Result.d.ResultSet[1].DASH_NAME);
$('[id$=lblNot2]').html(Result.d.ResultSet[1].TRCOUNT);
$('[id$=lblCode3]').html(Result.d.ResultSet[2].DASH_NAME);
$('[id$=lblNot3]').html(Result.d.ResultSet[2].TRCOUNT);
$('[id$=lblCode4]').html(Result.d.ResultSet[3].DASH_NAME);
$('[id$=lblNot4]').html(Result.d.ResultSet[3].TRCOUNT);
$('[id$=lblCode5]').html(Result.d.ResultSet[4].DASH_NAME);
$('[id$=lblNot5]').html(Result.d.ResultSet[4].TRCOUNT);
$('[id$=lblCode6]').html(Result.d.ResultSet[5].DASH_NAME);
$('[id$=lblNot6]').html(Result.d.ResultSet[5].TRCOUNT);
$('[id$=lblCode7]').html(Result.d.ResultSet[6].DASH_NAME);
$('[id$=lblNot7]').html(Result.d.ResultSet[6].TRCOUNT);
$('[id$=lblCode8]').html(Result.d.ResultSet[7].DASH_NAME);
$('[id$=lblNot8]').html(Result.d.ResultSet[7].TRCOUNT);
$('[id$=lblCode9]').html(Result.d.ResultSet[8].DASH_NAME);
$('[id$=lblNot9]').html(Result.d.ResultSet[8].TRCOUNT);
$('[id$=lblCode10]').html(Result.d.ResultSet[9].DASH_NAME);
$('[id$=lblNot10]').html(Result.d.ResultSet[9].TRCOUNT);
$('[id$=lblCode11]').html(Result.d.ResultSet[10].DASH_NAME);
$('[id$=lblNot11]').html(Result.d.ResultSet[10].TRCOUNT);
$('[id$=lblCode12]').html(Result.d.ResultSet[11].DASH_NAME);
$('[id$=lblNot12]').html(Result.d.ResultSet[11].TRCOUNT);
$('[id$=lblCode13]').html(Result.d.ResultSet[12].DASH_NAME);
$('[id$=lblNot13]').html(Result.d.ResultSet[12].TRCOUNT);
$('[id$=lblCode14]').html(Result.d.ResultSet[13].DASH_NAME);
$('[id$=lblNot14]').html(Result.d.ResultSet[13].TRCOUNT);
$('[id$=lblCode15]').html(Result.d.ResultSet[14].DASH_NAME);
$('[id$=lblNot15]').html(Result.d.ResultSet[14].TRCOUNT);
$('[id$=lblCode16]').html(Result.d.ResultSet[15].DASH_NAME);
$('[id$=lblNot16]').html(Result.d.ResultSet[15].TRCOUNT);
}
};
function FillMethodE() {
}
문제는 FillMethod 함수에서 발생되고있다. 참고 : 결과가 쌍으로 반환됩니다. DASH_NAME을 사용할 수 있으면 TRCOUNT를 동일한 색인에 사용할 수 있습니다.
내가해야 할 일은 상관없이 내가 동적으로 설정 결과에서 주문 값을 라벨에 표시해야하는 결과 카운트입니다. 다음은 얻을 수있는 두 세트의 결과 세트입니다.
왜 처음에는'eval()'을 사용하고 있습니까? 이것은 악마 그 자체입니다. 절대 사용하지 마십시오. – melancia
둘째,'FillMethod' 함수에서 루프를 사용하지 않으시겠습니까? – Jerodev
문제가 무엇인지는 분명하지 않습니다. 결과가 동적 인 것은 무엇이 문제입니까? 결과가 배열 인 경우 해당 배열을 반복하면됩니다. 그리고 두 번째 다른 사용자의 질문에, 왜 함수를 직접 호출하는 대신에'eval'을 사용하고 있습니까? – David