Ajax 호출 완료 후 함수 실행
저는 Ajax에 처음 와서 For loop을 사용하면서 Ajax를 사용하려고 합니다.Ajax 콜 후 Ajax 콜에서 작성된 변수를 사용하는 함수를 실행하고 있습니다.이 함수는 2회만 실행됩니다.루프가 다시 시작되기 전에 Ajax 콜에 충분한 시간이 없을 수 있습니다.함수 인쇄를 실행하기 전에 Ajax 호출을 확인하는 방법이 있습니까?With Ajax()?인쇄는 필요 없습니다.WithAjax() 함수는 Ajax 콜이 완료될 때까지 실행됩니다.어떤 도움이라도 주시면 대단히 감사하겠습니다.
var id;
var vname;
function ajaxCall(){
for(var q = 1; q<=10; q++){
$.ajax({
url: 'api.php',
data: 'id1='+q+'',
dataType: 'json',
async:false,
success: function(data)
{
id = data[0];
vname = data[1];
}
});
printWithAjax();
}//end of the for statement
}//end of ajax call function
다음 코드를 사용해 보십시오.
var id;
var vname;
function ajaxCall(){
for(var q = 1; q<=10; q++){
$.ajax({
url: 'api.php',
data: 'id1='+q+'',
dataType: 'json',
async:false,
success: function(data)
{
id = data[0];
vname = data[1];
},
complete: function (data) {
printWithAjax();
}
});
}//end of the for statement
}//end of ajax call function
"complete" 함수는 ajax의 "성공" 후에만 실행됩니다.그러니 인쇄소에 전화해봐With Ajax()가 "complete"에 있습니다.이거면 되겠네요.
또는 를 사용할 수 있습니다.
.ajaxComplete()
는, 페이지의 각 AJAX 요구가 완료된 후에 기동됩니다.
$( document ).ajaxComplete(function() {
yourFunction();
});
.ajaxStop()
는, 페이지의 모든 AJAX 요구가 완료된 후에 기동됩니다.
$( document ).ajaxStop(function() {
yourFunction();
});
함수에 .done()을 추가합니다.
var id;
var vname;
function ajaxCall(){
for(var q = 1; q<=10; q++){
$.ajax({
url: 'api.php',
data: 'id1='+q+'',
dataType: 'json',
async:false,
success: function(data)
{
id = data[0];
vname = data[1];
}
}).done(function(){
printWithAjax();
});
}//end of the for statement
}//end of ajax call function
추가.done()
당신의 Ajax 요청에 따라.
$.ajax({
url: "test.html",
context: document.body
}).done(function() { //use this
alert("DONE!");
});
자세한 내용은 JQuery Document를 참조하십시오..done()
async = false를 헤드로 설정해야 합니다.ajax 대신 post/get을 사용합니다.
jQuery.ajaxSetup({async:false});
$.post({
url: 'api.php',
data: 'id1=' + q + '',
dataType: 'json',
success: function (data) {
id = data[0];
vname = data[1];
}
});
해라
var id;
var vname;
function ajaxCall(){
for(var q = 1; q<=10; q++){
$.ajax({
url: 'api.php',
data: 'id1='+q+'',
dataType: 'json',
success: function(data)
{
id = data[0];
vname = data[1];
printWithAjax();
}
});
}//end of the for statement
}//end of ajax call function
언급URL : https://stackoverflow.com/questions/23283276/execute-function-after-ajax-call-is-complete
'source' 카테고리의 다른 글
자동으로 WordPress 표시 중지자동으로 WordPress 표시 중지태그태그 (0) | 2023.03.23 |
---|---|
jQuery ajax 응답 html로 div 업데이트 (0) | 2023.03.23 |
반응 테스트: 대상 컨테이너가 DOM 요소가 아닙니다. (0) | 2023.03.23 |
WordPress에서 위젯의 HTML 코드를 변경하는 방법 (0) | 2023.03.23 |
JSON 개체에 null 값을 넣을 수 없습니다. (0) | 2023.03.23 |