2013-04-12 3 views
1

여러 jquery Ajax 호출을 순차적으로 실행해야한다. 콜백을 사용하고 있으므로 모든 호출에는 다음 Ajax 호출을 실행하는 등의 성공 함수가 있습니다. 정말 엉망이었고 읽는 데 매우 어려운 코드였습니다. 인터넷 검색 후 굉장해 보이는 Frame.js를 찾았지만 작동하지 않습니다.콜백 및 Frame.js가있는 JQuery Ajax

난 그냥 첫 번째 웹 서비스를 호출하기 위해 노력하고있어 나는이 일을 해요 문제를 단순화하기 위해 :

파일 : MyPage.aspx :

Frame(function (next) { 
    this.request = { CodSeguro: 917766 }; 
     Emision_ConsultarSeguro(request, next, next); 
     next(); 
    }); 
    Frame(function (next,ajaxResponse) 
    { 
     alert(ajaxResponse); 
    }); 

파일 : WebServices.js을 :

function Emision_ConsultarSeguro(requestData, okFunction, failFunction) 
{ 
    runAjax("Emision/emision.asmx/Consultar", request, okFunction, failFunction); 
} 

파일 : common.js를

function runAjax(url, request, okFunction, failFunction) 
{ 
    var dto = "{'request':" + JSON.stringify(request) + "}"; 
    execAjax(url, dto, okFunction, failFunction); 
} 

파일 :은 ajax.js

function execAjax(url, data, successFunction, errorFunction) 
{ 
    return $.ajax({ 
     type: "POST", 
     url: GetUrl() + url, 
     data: data, 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     success: function(data) { 
      successFunction(data); 
     }, 
     error: function(XMLHttpRequest, textStatus, errorThrown { 
      errorFunction(XMLHttpRequest, textStatus, errorThrown); 
     } 
    }); 
} 

아약스가 실행될 때 호출하지만 ajaxResponse 항상 정의되지! 도와주세요!

답변

0

WebServices.js처럼 보이지만 요청 인수를 requestData로 바꿔야합니다.

function Emision_ConsultarSeguro(requestData, okFunction, failFunction) 
{ 
    runAjax("Emision/emision.asmx/Consultar", requestData, okFunction, failFunction); 
} 
+0

죄송합니다. 여기에 잘못된 코드를 붙여 넣으십시오. 내 webservices.js에 올바른 변수 이름이 사용되므로 문제가되지 않습니다. – Juan