![](/img/trans.png)
[英]How to store a SQL result in a JavaScript array, using AJAX and JSON
[英]How do I store an array of objects that are a result of an ajax query pulling data from JSON in javascript?
我能夠使用下面的代碼成功檢索我的 JSON 對象。 當我記錄變量“value2”時,我可以在控制台中看到這些值。 但是我無法用 value2 填充我的“arraytest”。 當我在函數運行后在控制台中打印 arraytest 的值時,該數組為空。
var accessURL = "https://lots-of-holes.firebaseio.com/.json";
var arraytest= [];
i=0;
$.getJSON(accessURL, function(data){
$.each(data, function (index, value) {
$.each(value, function (index2, value2) {
arraytest[i++] = value2;
console.log(value2);
});
});
});
console.log(arraytest);
這可能與查詢運行速度比我的 javascript 慢有關,但我不確定如何處理。 如果您認為這是其他事情並且仍想提供幫助,請給我留言,我會給您一個指向我的源代碼的鏈接。 我是 javascript 和 ajax 的新手。
JSON 如下:
{"-37 932570096604465 * 101 68831543328787":{"frequency":2.0,"lat":-37.932570096604465,"lon":101.68831543328787},"-79 14830348215878 * -147 67984075199726":{"frequency":2.0,"lat":-79.14830348215878,"lon":-147.67984075199726},"-9 566696357885519 * -86 19132124619011":{"frequency":2.0,"lat":-9.566696357885519,"lon":-86.19132124619011},"23 175286370699936 * -14 694988385655307":{"frequency":2.0,"lat":23.175286370699936,"lon":-14.694988385655307},"25 686572941892038 * -54 7326350327119":{"frequency":2.0,"lat":25.686572941892038,"lon":-54.7326350327119},"39 2538061 * -76 7143967":{"frequency":10.0,"lat":39.2538061,"lon":-76.7143967},"39 2538512 * -76 7144418":{"frequency":2.0,"lat":39.2538512,"lon":-76.7144418},"39 2543882 * -76 7132241":{"frequency":2.0,"lat":39.2543882,"lon":-76.7132241},"39 2543986 * -76 7133143":{"frequency":2.0,"lat":39.2543986,"lon":-76.7133143},"52 0353479004271 * 147 31906570837452":{"frequency":2.0,"lat":52.0353479004271,"lon":147.31906570837452},"7 568992516106547 * 37 95350231539729":{"frequency":2.0,"lat":7.568992516106547,"lon":37.95350231539729},"78 51991220059591 * 69 61956909362064":{"frequency":2.0,"lat":78.51991220059591,"lon":69.61956909362064}}
$.getJSON
是一個異步函數。 所以console.log(arraytest)
在 arraytest 填充之前運行。
你可以試試這個:
var accessURL = "https://lots-of-holes.firebaseio.com/.json";
var arraytest= [];
i=0;
$.getJSON(accessURL, function(data){
$.each(data, function (index, value) {
$.each(value, function (index2, value2) {
arraytest[i++] = value2;
console.log(value2);
});
});
console.log(arraytest);
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.