[英]Jquery POST not populating array
我正在嘗試使用參考HighCharts的JSON條目填充數組。
其中一個JSON對象是手動填充的,一個需要使用PHP帖子動態填充。 我一直在嘗試使用回調函數將數據推送到數組,但是似乎沒有數據被推送。
我能夠驗證數據是否來自PHP Post。 似乎確實填充了數組,但是一旦完成jQuery POST函數,就好像清空了數組。
另外,我在POST內有一個console.table調用。 這實際上可以正確打印陣列。
您可以從下面的代碼中看到,我在帖子發布后立即使用console.table()調用,它為空。 但是,在我接下來手動推送之后,數據數組現在具有用於手動JSON數組推送的數據。
有任何想法嗎?
這是我的代碼:
/* INITIAL ARRAY **************************************/
data_array = [];
var colors = Highcharts.getOptions().colors;
categories = ['Dynamic', 'Manual'];
/* FUNCTION TO PUSH TO ARRAY *****************************/
function push_toarray(cats,counts) {
data_array.push({
y: 10.38,
color: colors[1],
drilldown: {
name: 'Dynamically Populated',
categories: [cats],
data: [counts],
color: colors[1]
}
});
}
/* PHP AND FOR LOOP FOR GETTING DATA *********************************************/
$.post( "php/dt_charts.php")
.done(function( data ) {
var obj = jQuery.parseJSON(data);
// To verify the values are returned
console.log(obj.fe_det_name);
console.log(obj.fe_det_count);
push_toarray(obj.fe_det_name, obj.fe_det_count);
console.table(data_array); // This prints the array correctly with both JSON objects inside
});
//console.table(data_array); // This prints no data.
/* MANUAL DATA ARRAY *********************************************/
data_array.push({
y: 10.38,
color: colors[1],
drilldown: {
name: 'Manually Populated',
categories: ['Firefox v31', 'Firefox v32', 'Firefox v33', 'Firefox v35', 'Firefox v36', 'Firefox v37', 'Firefox v38'],
data: [0.33, 0.15, 0.22, 1.27, 2.76, 2.32, 2.31, 1.02],
color: colors[1]
}
})
console.table(data_array); // This prints only the manually populated array values
$.post( "php/dt_charts.php")
.done(function( data ) {
var obj = jQuery.parseJSON(data);
// To verify the values are returned
console.log(obj.fe_det_name);
console.log(obj.fe_det_count);
push_toarray(obj.fe_det_name, obj.fe_det_count);
console.table(data_array); // This prints the array correctly with both JSON objects inside
<----- move your logic here,
});
將邏輯移到那里,如果不能,則將邏輯放在函數中,然后在完成的回調中調用該函數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.