javascript/jquery/ajax 실행 중에 텍스트 업데이트를 가져올 수없는 이유에 대해 혼란 스럽습니다..innerHtml 텍스트가 스크립트 실행 중 업데이트 됨
다음 코드가 있습니다.
$("#updates").html("Collecting your team names.");
YourTeamFirst(YourTeam, TeamValue);
$("#updates").html("Collecting their team names.");
TheirTeamNext(TheirTeam, TeamValue);
$("#updates").html("Gathering ID's.");
setNames(TeamValue);
$("#updates").html("Setting Details.");
setChampRatios(TeamValue);
$("#updates").html("Setting Ratios.");
setChampKDRS(TeamValue);
$("#updates").html("Finished!");
즉
예 함수 (발생만을 AJAX 함수 호출 및 텍스트 업데이트 실제는 일반 JS 함수 해당 없음 AJAX에, 서브 함수에 ...)
function TheirTeamNext(TheirTeam, TeamValue) {
$.ajax({
url: "/PlayerLookUp/TheirRankedData",
type: "POST",
data: "IDList=" + T[i],
dataType: "json",
async: false,
success: function (resp) {
//just boring logic
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
if (XMLHttpRequest.status == 0) {
alert("Issue with reaching Riot API server. Pleast contact an Admin.");
}
}
});
}
유일한 것은 "완료되었습니다"(스크립트가 완료된 후) 왜 다른 것이 전혀 나타나지 않는 것입니까? 실행은 약 10 초가 걸리므로 다른 업데이트가 innerHtml/Html에 나타나야합니다. 나는 또한 document.getElementById("updates").innerHTML = ...
을 사용하여 시도해 보았습니다. 또한 완료된 텍스트가 "Finished"텍스트로 표시 될 때 아무 것도 보여주지 않습니다.
각 함수는 JQuery, Ajax 또는 javascript이고 C# 컨트롤러에서 몇 개 앞뒤로 나뉘어 있습니다. 그러나 내가 인식하지 못하는 스크립트가 없으면 텍스트 업데이트가 여전히 innerHtml 텍스트를 업데이트해야합니다. innerHtml/Html ... 어스에서 가장 최근 텍스트 업데이트가 표시됩니다. alert()
그렇다면 경고 중단이나 스크립트 실행 종료로 인해 내 텍스트가 업데이트/게시됩니다. 내 사용자가 스크립트 사용시 업데이트 된 메시지를 보길 바랍니다.
우리가하고있는 모든 것을 볼 수 있도록 완전한 코드 예제를 게시하십시오. 확률은 모든 .html() 문이 실행 중이지만 마지막 업데이트를보기에는 너무 빨리 나타납니다. 다시 말하지만, 코드 없이는 말할 수있는 카드이지만, 경고가 작동하고 경고가 차단되었다고 말한 이후로 내 추측입니다. – j08691
@ j08691 문제가 "전파"와 같은 경우, 약 10 초 정도 걸립니다. 제 3 자 API 호출만으로는 1 ~ 2 초가 걸리고 지금까지 약 20 개는 수행하고 있습니다. – Austin
브라우저의 UI, 즉'html()'메소드 호출과 sync ajax 호출을 차단하기 전에 강제로 UI를 다시 그려야합니다. 그것은 매우 불투명 한 질문입니다. –