我有一个AJAX正从分贝值,并且将结果推入的数组:提取阵列 - 未定义
function pushPONFail(dt, ct) {
if (ct < 12) {
var tMon = parseInt(dt.getMonth())+1;
var tYear = dt.getFullYear();
ct++;
} else {
return;
}
data = {"qType": 101,
"tbl": 'qualitypqa.dbo.centerthickness',
"month": tMon,
"year": tYear,
"type": 'Lotrafilcon B'};
$.ajax({
cache : false,
url: "getrpt.php",
type: "get",
data: data,
contentType: 'application/json; charset=utf-8',
async: true,
error: function(XMLHttpRequest, textStatus, errorThrown) {
console.log("error: "+textStatus+" : "+errorThrown);
}
})
.done(function(response){
var obj = jQuery.parseJSON(JSON.stringify(response));
arrPONFail.push({Month: months[tMon-1]+"/"+tYear, PONFail: obj[0].PONFail});
dt = new Date(dt.setMonth(parseInt(dt.getMonth()) - 1));
pushPONFail(dt, ct);
});
} // pushing values such as ["May/2017", 0]
$(function() {
var dt = new Date();
pushPONFail(dt, 0);
console.log(arrPONFail);
});
这些是完整的功能。当我console.log数组时,它出现在我的照片中。我无法提取数据。
当我将数组打印到控制台时,如下图所示。
如何从数组中返回值? 当我做一个arrT [0]时,我得到一个未定义的。
请指教。
您是在.done()之外的控制台日志记录arrT。 done()完成后,您应该控制日志arrT,或者您可以在1000毫秒内调用timeout函数,然后记录arrT。你会看到不同之处。 – supritshah1289