sourcecode

jquery 중첩 ajax 호출 서식 지정

codebag 2023. 9. 10. 12:14
반응형

jquery 중첩 ajax 호출 서식 지정

나는 이전 전화의 데이터를 바탕으로 6개의 ajax call을 연속적으로 해야하는 요구사항이 있습니다.나는 이전 통화의 성공에 각 통화를 둥지로 틀고 있습니다. 내 질문은 내 편집기를 가로질러 백만 행으로 끝나지 않도록 코드를 포맷하는 좋은 방법이 무엇인가 하는 것입니다.

 $.ajax({
                type: "POST",
                url: "someScript/someScript.php",
                data: form + "&func=build",
                success: function (result) {
                 if (result == "ok")
                 {
                   $.ajax({
                   type: "POST",
                   url: "someScript/someScript.php",
                   data: form + "&func=someOtherFunc",
                   success: function (result) {
                        if (result == "ok")
                        {
                          $.ajax({
                           type: "POST",
                           url: "someScript/someScript.php",
                           data: form + "&func=someOtherFunc",
                           success: function (result) {
                           if (result == "ok")
                           {
                             .....and so on
                           }
                           })
                         }
                      })
                    })
                   }
                 })

괄호를 무시합니다. 구문은 이 질문에 중요하지 않습니다.

당신은 이런 것을 할 수 있습니다.

function ajaxCall1(){
    $.ajax({
        success: function(){
            ajaxCall2();
        }
    });
}
function ajaxCall2(){
    $.ajax({
        success: function(){
            ajaxCall3();
        }
    });
}
function ajaxCall3(){
    $.ajax({
        success: function(){
            ajaxCall4();
        }
    });
}

다음과 같은 작업을 수행할 수 있습니다.

var url = '/echo/json/';
var dados = {acao: acao,codigo: null};

function funcao1(json,data)
    $.post(url, data, function(json){
        return json;
    }).fail(function() {
        alert("deu erro");
    });
}

alert(funcao1(funcao1(funcao1(),{id:"id1"}),{id:"id1"}));

url 및 기타 데이터를 매개 변수로 추가할 수 있습니다.

또 다른 아이디어는 다음과 같은 배열을 받는 함수를 만드는 것입니다.

[{url:'url1', cb:function1},{url:'url2',cb:function2}]

호출이 끝날 때마다 항목을 삭제하는 재귀 함수일 수 있습니다.

언급URL : https://stackoverflow.com/questions/22233650/jquery-nested-ajax-calls-formatting

반응형