2012-09-18 2 views
0

jquery에서 배열을 반환하는 데 문제가 있습니다. 나는 mysql에서 응답 데이터에 아약스를 사용했고 배열을 추가하고 리턴해야한다.반환 배열 jquery

function addOption() 
    { 
     itemsarray = []; 

     $.ajax({ 
      type: "POST", 
      url: "", 
      data:{ 
       option: 'com_zamowienia', 
       view: 'zamowienia_lista', 
       task: 'getStatusy' 
      }, 
      success: function(data){ 
       var obj = $.parseJSON(data);   
        for (x=0; x<obj.length; x++) { 
         itemsarray.push(obj[x].nazwa); 
       } 
      } 
     }); 

     return itemsarray; 
    } 

내가 사용 :

이 내 코드 경고 (addOption()). 나는 AJAX가 비동기로 빈 경고를

+0

는 AJAX 호출이 비동기

그래서, 당신은 배열을 얻기 위해 콜백 함수를 사용해야합니다. 완료 될 때 발생하지 않았으므로 함수에서 결과를 반환 할 수 없습니다. – Orbling

답변

3

를 참조, 그래서 당신은 그렇게 배열을 반환 할 수 없습니다.

function addOption(callback) 
    { 
     itemsarray = []; 

     $.ajax({ 
      type: "POST", 
      url: "", 
      data:{ 
       option: 'com_zamowienia', 
       view: 'zamowienia_lista', 
       task: 'getStatusy' 
      }, 
      success: function(data){ 
       var obj = $.parseJSON(data);   
       for (x=0; x<obj.length; x++) { 
         itemsarray.push(obj[x].nazwa); 
       } 
       // return you itemsarray through callback function parameter 
       callback(itemsarray); 
      } 
     }); 
    } 

전화와 같은 기능 : 기본적으로

addOption(function(myarr) { 
    console.log(myarr); 
});