728x90
ajax 사용시 success나 일부 옵션에서 값을 return하는 경우 undefined가 나오는 현상이 발생했다.
test : function(){
$.ajax({
url: url,
data: param,
type: 'POST',
dataType : "json",
async : false,
success: function(data){
if (!data.result){
alert(data.message);
return false;
}else{
return true;
}
}
});
}
다른 함수에서 test() 호출 시 true를 return 하여도 값을 찍어보면 undefined가 나온다.
이 경우 ajax 밖에 변수를 선언해준후, ajax 밖에서 return해주면 된다.
test : function(){
var isSuccess = true;
$.ajax({
url: url,
data: param,
type: 'POST',
dataType : "json",
async : false,
success: function(data){
if (!data.result){
alert(data.message);
isSuccess = false;
}else{
isSuccess = true;
}
}
});
return isSuccess;
}
728x90
'JavaScript' 카테고리의 다른 글
[JavaScript] jQuery ajax success에서 this객체 사용 (0) | 2023.01.19 |
---|---|
[javascript] js 배열 사용법 (0) | 2021.04.07 |
[javascript] disabled과 readonly 차이 (0) | 2021.03.12 |
[javascript] textarea에 내용 추가 (0) | 2021.03.12 |