我有这样的代码: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