프로그래밍 언어/jQuery, ajax

jQuery로 동기식 Ajax 요청 하는 방법

Rateye 2021. 7. 9. 10:27
728x90
반응형

 

질문 : 비동기가 아닌 동기식 Ajax 요청을 수행하도록 jQuery를 얻으려면 어떻게해야합니까?

표준 확장 점을 제공하는 JavaScript 위젯이 있습니다. 그중 하나가 beforecreate 함수입니다. 항목이 생성되지 않도록하려면 false 를 반환해야합니다.

jQuery를 사용하여이 함수에 Ajax 호출을 추가했습니다.

beforecreate: function (node, targetNode, type, to) {
  jQuery.get('http://example.com/catalog/create/' + targetNode.id + '?name=' + encode(to.inp[0].value),

  function (result) {
    if (result.isOk == false) 
        alert(result.message);
  });
}

하지만 내 위젯이 항목을 생성하지 못하도록하고 싶으므로 콜백이 아닌 어머니 함수에서 false jQuery 또는 다른 브라우저 내 API를 사용하여 동기식 AJAX 요청을 수행하는 방법이 있습니까?

답변

jQuery 문서에서 : 동기 Ajax 요청을 얻으려면 비동기 옵션을 false 로 지정하십시오. 그런 다음 콜백은 어머니 함수가 진행되기 전에 일부 데이터를 설정할 수 있습니다.

제안 된대로 변경된 경우 코드는 다음과 같습니다.

beforecreate: function (node, targetNode, type, to) {
    jQuery.ajax({
        url: 'http://example.com/catalog/create/' + targetNode.id + '?name=' + encode(to.inp[0].value),
        success: function (result) {
            if (result.isOk == false) alert(result.message);
        },
        async: false
    });
}
출처 : https://stackoverflow.com/questions/133310/how-can-i-get-jquery-to-perform-a-synchronous-rather-than-asynchronous-ajax-re
728x90
반응형