[JQUERY] jQuery Ajax 콜백이 호출 기능을 기다립니다
JQUERYjQuery Ajax 콜백이 호출 기능을 기다립니다
해결법
-
1.콜백 함수를 사용해야합니다. 아래 에서이 작업을 수행하십시오.
콜백 함수를 사용해야합니다. 아래 에서이 작업을 수행하십시오.
$(function() { // I think doAjax should doAnAjax() // here you're passing callback // but you're not using it doAnAjax() doAnAjax(Url, data, function(myRtn) { if (myRtnV == "success") { resetForm($('#myForm')); resetForm($('form[name=addChlGrp]')); } else { $('.rtnMsg').html("Opps! Ajax Error"); } }); }); // pass callback as third parameter to doAnAjax() function doAnAjax(newUrl, data, callBack) { $.ajax({ url: newUrl, async: true, dataType: 'html', beforeSend: function() { $('.rtnMsg').html("<img src=_cssStyleImg_-A-loading.gif>"); }, type: "GET", data: data, cache: false, success: function(data, textStatus, xhr) { $('.rtnMsg').html(data); myRtnA = "Success" return callBack( myRtnA ); // return callBack() with myRtna }, error: function(xhr, textStatus, errorThrown) { $('.rtnMsg').html("opps: " + textStatus + " : " + errorThrown); myRtnA = "Error" return callBack ( myRtnA ); // return callBack() with myRtna } });
-
2.앞서 언급했듯이 콜백을 사용합니다.
앞서 언급했듯이 콜백을 사용합니다.
function process(url, params, successCallback, errorCallback) { $.ajax({ success : successCallback, error : errorCallback, data : params, url : url, type : 'POST', dataType : 'json' }); } process( 'http://www.google.co.uk', { param1 : 'a' }, function(resp) { alert('Success'); }, function() { alert('Uh oh'); } );
그런 다음 프로세스에 모든 기능을 전달할 수 있으며 성공 / 오류가 발생합니다.
-
3.대답은 당신이하지 않지만 쉽게 달성 할 수 있습니다. Ajax의 아이디어는 비동기 적이므로 JAX입니다. 즉, 원래 AJAX를 호출하는 함수는 AJAX 호출이 성공 또는 오류 핸들러에 있어야 할 때 완료 될 때까지 완료 될 때까지 완료 될 때까지 완료 될 때까지 기다리지 않습니다.
대답은 당신이하지 않지만 쉽게 달성 할 수 있습니다. Ajax의 아이디어는 비동기 적이므로 JAX입니다. 즉, 원래 AJAX를 호출하는 함수는 AJAX 호출이 성공 또는 오류 핸들러에 있어야 할 때 완료 될 때까지 완료 될 때까지 완료 될 때까지 완료 될 때까지 기다리지 않습니다.
동기식이 필요한 것이 있으면 비동기에서 플래그를 변경할 수 있습니다. 흔히 흔들리는 것입니다. FALSE는 실제로 SJAX 호출 (용어가 존재하지만 기술적으로 AJAX 호출이 존재하지도 않음)이됩니다.
-
4.jQuery에서 '지연'을 확인하십시오. 아래의 예는 비동기가 꺼지고 나에게 일하는 것처럼 보입니다.
jQuery에서 '지연'을 확인하십시오. 아래의 예는 비동기가 꺼지고 나에게 일하는 것처럼 보입니다.
$.ajax({ url: "http://www.whatever.com/whatever", async: false }).done(function( data ) { alert(data); //or whatever })
from https://stackoverflow.com/questions/11576176/wait-for-a-jquery-ajax-callback-from-calling-function by cc-by-sa and MIT license
'JQUERY' 카테고리의 다른 글
[JQUERY] jQuery : 부분 클래스 이름 찾기 [복제] (0) | 2020.11.03 |
---|---|
[JQUERY] 제출 버튼을 누른 후 양식 값 변경 (0) | 2020.11.03 |
[JQUERY] Ajax jquery 성공 범위 (0) | 2020.11.03 |
[JQUERY] jQuery를 함께 텍스트를 제거 (0) | 2020.11.03 |
[JQUERY] SVG 요소 내부에 DIV를 추가 할 수 있습니까? (0) | 2020.11.03 |