[javascript] jQuery / Ajax - $ .ajax () 매개 변수를 콜백에 전달 - 사용할 좋은 패턴?


Answers

rssToTarget 함수 안에 closure 를 만들면 사용할 패턴이 작동합니다.

function rssToTarget(element) {
  return function (xmlData) {
    // work with element and the data returned from the server
  }
}

function doSomething(url, elem) {
    $.ajax({ type: "GET",
         url: url,
         dataType: "xml",
         success: rssToTarget(elem)
       });
}

rssToTarget(elem) 이 실행되면 요소 매개 변수가 closure 저장되고 콜백 함수가 반환되어 실행을 기다리고 있습니다.

Question

자바 스크립트 코드 :

function doSomething(url) {  
   $.ajax({
      type: "GET",  
      url: url,  
      dataType: "xml",  
      success: rssToTarget  
   });  
}    

패턴 내가 사용하고 싶습니다 :

//where elem is the target that should receive new items via DOM (appendChild)
function doSomething(url, elem) {
   $.ajax({
      type: "GET",
      url: url,
      dataType: "xml",
      success: rssToTarget(elem)
   });
}  

이런 식으로 일할 콜백을 얻을 수 있다고 생각하지 않습니다. 맞죠? 적절한 패턴은 무엇입니까? elem 또는 elem 이름을 일시적으로 보유하기 위해 전역 변수를 반드시 사용하고 싶지 않습니다.




Links