我有這樣的代碼:jQuery的全局變量使用
var products = [];
$(document).ready(function($){
$.fn.load_products = function(){
$.getJSON('/restaurant/get_products',function(data){
products = data[0];
alert(products[0]['idProduct']);//this works fine
});
// EDITED: alert was here, but was a mistake sorry
}
$.fn.draw_products = function(){
alert(products[0]['idProduct']); //this doesn't work
}
$(this).load_products();
$(this).draw_products();
}
我已經在全球範圍內聲明的產品,但它看起來像它的內部load_products重新定義一次。
當我執行它時,它說產品[0]是未定義的。
編輯:一些額外的信息。控制檯中的錯誤在警報執行後出現。
我打算冒險猜測你的產品數組是空的。 – 2013-03-08 18:00:20
嘗試將整個產品變量記錄到控制檯,它可能是您的產品數組爲空,並且您嘗試訪問元素,如果它。 – Ankit 2013-03-08 18:00:57
看起來像異步加載問題 – 2013-03-08 18:01:00