我需要多次使用某個函數,並且希望避免一次又一次地寫入相同的方法。我想使用$ .getJSON()響應並將其存儲在將返回的變量中。這樣我可以調用這個方法。
function startFilter(){
var grid = [];
$.getJSON('data/gridData1.json',function(json){
grid = json;
console.log(grid);
});
console.log(grid);
return grid;
}
grid var設置在.getJSON中,但不在.getJSON之外。任何想法爲什麼,如果需要更多的信息讓我知道?
Ajax是異步。 return語句發生在'grid = json'語句之前。 –
爲了擴展@JasonP說的話,你可以使用$ .ajax,如果你願意的話可以添加'async = false'選項,儘管你可以更好地將代碼構建爲異步。也許傳遞一個回調函數到'startFilter',然後把你的網格。調用完成後,您可以使用網格調用回調函數,然後回調可以執行任何您想要的網格操作。 – Pete