IT/JS + Jquery
[JavaScript]Ajax return 값 받지 못할 때.
시린스
2019. 7. 29. 16:22
반응형
[2021.05.07]
Success의 데이터의 return의 결과를 보내고 싶을 때.
동기식으로 꼭 설정을 바꿔주고 보내야 됩니다.
꼭 async를 false로 해주고
return은 밖으로 빼 줘야지 defined가 나오지 않는다.
간략요약
비동기 , 동기 식의 데이터를 제대로 알지 못하였을 때 작성한 글인 것 같다.
동기식일때 async를 해두면 전체적으로 데이터를 처리하고나서 success를 타고 데이터가 넘어감.
비동기식일때는 async false로 두면 전체적으로 데이터를 전부 다 체크하고 success까지 체크한 다음에 로직으로 넘어감.
결국 return을 함수내에서 쓰려면 비동기식으로 무조건 써야되고 아니면 동기식으로 쓰고 return을 success 안에다가 넣아야 된다.
이제는 너무 잘 아는 ajax.. 그래도 모르는 기능들이 많겠지
$.ajax
({
type: "GET",
url: URL,
async: false, //동기식 , 비동기식 설정
success: function (result) {
//값 없을 시
if (result.MAIN.length == "0") {
vResult = false;
}
else {
vResult = true;
}
},
error: function (xhr,status,error) {
alert("[Error]"+error);
return;
}
}); //end ajax
return vResult; //아작스 밖
};