최대 1 분 소요

AJAX 밖으로 값 보내기


AJAX 밖으로 값 보내기

나는 종종 JS에서 AJAX를 사용하다보면 AJAX에서 받은 값을 AJAX 밖에서 사용하고 싶은데 밖으로 나오지 않는 경우가 있었다. 인터넷을 검색하는 도중 그 원인을 알 수 있었는데 코드를 확인해보자.

let str;

$.ajax({
    url: "/search/"+i,
    data : {id : i},
    type: "get",
    dataType: "text",
    success : function(response){
        str = response;
    }
})

console.log(str);

이런 코드를 작성하여 ajax에서 받은 데이터를 콘솔에 찍어주니 undefined를 마주하였다…

이럴 때는

let str;
function callData(){
    let m = 0;
    $.ajax({
        url: "/search/"+i,
        data : {id : i},
        async :false,			// 비동기를 위해 넣어준다.
        type: "get",
        dataType: "text",
        success : function(response){
            m = response;
            console.log(m)
        }
    })
    return m;
}
str = callData()
console.log(str);

위와 같이 AJAX를 함수로 변환하고 async :false와 리턴을 활용하면 쉽데 AJAX 밖으로 데이터를 가져올 수 있다.

태그:

카테고리:

업데이트: