我有这段代码:
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]未定义。
编辑:一些额外的信息。警报执行后,控制台中出现错误。
答案 0 :(得分:1)
这是因为draw_products
在load_products
中的AJAX调用返回之前被调用。您需要在AJAX调用中的回调中调用draw_products
。