GetJSON异步返回数据

时间:2014-10-29 12:26:29

标签: jquery ajax getjson

我正在使用此代码从DataBase

获取数据
    var ourData ='';
    $.getJSON('getGaleri.php',function(data){
        ourData =data;

    });
    //alert('loading');


    });
    html = html + '</ul></div></div>';
    setTimeout(function(){
$.each(ourData, function(i, item) {
        html = html +"<li class='modern konserler'><a href='"+path+ourData[i].resim_banner+"' rel='bookmark' class='fancybox'><img src='"+path+ourData[i].resim_banner+"' alt='ThemeMarket' /><div><span></span></div></a></li>";
        $('#content').html(html);
    }, 4000);

要让它正常工作,我需要取消注释第四行alert()并让ourData填充数据, 如果我没有对它进行评论,它将不会提供任何内容,ourData将为空字符串,我认为使用setTimeout可以提供帮助,但事实并非如此,

如何解决这个问题,因此我不需要alert()来填充ourData变量中的数据

1 个答案:

答案 0 :(得分:0)

这是因为alert在填充警告getJSON之后阻止线程足够长时间以完成ourData。在回调中使用each

$.getJSON('getGaleri.php',function(data){

    $.each(data, function(i, item) {
        html = html +"<li class='modern konserler'><a href='"+path+data[i].resim_banner+"' rel='bookmark' class='fancybox'><img src='"+path+data[i].resim_banner+"' alt='ThemeMarket' /><div><span></span></div></a></li>";

    });

});