jQuery AJAX成功分配给对象

时间:2015-02-14 00:56:04

标签: jquery ajax

成功进行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中看到它。

1 个答案:

答案 0 :(得分:0)

根据定义,Ajax调用是异步的(检查首字母缩略词)。 结果,程序流程在呼叫之后继续。 那时,响应还没有到来。

当响应最终可用时,将调用回调:您的成功代码。只有在那里你可以打印并继续使用依赖它的东西。

这是在那里发生的命令:

  1. 声明对象
  2. 请求Ajax调用
  3. 您的打印时间错误 ...
  4. 稍后,服务器响应已到达并且您的成功回调已执行