getproductInfo
에서 반환 된 배열 p_info
배열을 읽으려고 시도 중이지만 정의되지 않은 값이 나타납니다. 이를 달성하기 위해 콜백 함수를 사용하고 있지만 여전히 작동하지 않습니다. 내가 어디서 잘못한거야?ajax 및 콜백 함수를 사용하여 함수에서 값 전달/반환
$(document).ready(function() {
function successCallback(data)
{
var name = data.name;
var image = data.image;
var link = data.link;
var product_info = [name, image, link];
console.log(product_info); // Correct: shows my product_info array
return product_info;
}
function getProductInfo(prodId, successCallback) {
$.ajax({
type: "POST",
url: "getProductInfo.php",
data: "id=" + prodId,
dataType: "json",
success: function(data) {
var p_info = successCallback(data);
console.log(p_info); // Correct: shows my product_info array
return p_info;
},
error: function()
{
alert("Error getProductInfo()...");
}
});
return p_info; // Wrong: shows "undefined" value
}
var p_info = getProductInfo(12, successCallback);
console.log(p_info); // Wrong: shows an empty value
});
성공 콜백 내에 'p_info'를 선언 한 다음 해당 범위 밖에서 액세스하려고합니다. 대신 함수의 맨 위에 선언하십시오. –
감사합니다. Neoaptt 사용자에게 쓴 것처럼이 작업을 시도했지만 여전히 작동하지 않습니다. – KaMZaTa