我有一個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