成功进行jQuery AJAX调用但不明白为什么返回的数据不会被分配给以下函数中的ProductData对象: -
function getProductDetails(getSku) {
//Get Full Product Details
var theProductData = new Object();
theProductData.description = '';
theProductData.price = '';
theProductData.stockLevel = '';
$.ajax({
url: baseUrl + '/product/' + getSku,
success: function (response) {
theProductData.description = response.Description,
theProductData.price = response.FormattedSellPrice,
theProductData.stockLevel = response.FormattedStockLevel;
}
});
console.log(theProductData);
return theProductData;
}
控制台输出是:
Object {description: "", price: "", stockLevel: ""}
数据肯定会被返回,因为我可以在devtools中看到它。
答案 0 :(得分:0)
根据定义,Ajax调用是异步的(检查首字母缩略词)。 结果,程序流程在呼叫之后继续。 那时,响应还没有到来。
当响应最终可用时,将调用回调:您的成功代码。只有在那里你可以打印并继续使用依赖它的东西。
这是在那里发生的命令: