显示加载器gif,同时获取ajax请求

时间:2011-09-29 23:02:16

标签: jquery ajax loader

我们使用了一些代码,当用户通过ajax选择它来搜索结果时。

我遇到的问题是我不想要提交按钮,我们希望代码在获取内容时显示加载器gif(ala FaceBook样式点)。如果成功,请隐藏装载程序。

输入元素:

<input name="suburbs"  autocomplete="off" class="suburbsreviews" type="text" id="terms" size="50" onkeyup="getScriptPage('show_results','terms','1')" onblur="if ( this.value == '' ) this.value = this.defaultValue" onfocus="if ( this.value == this.defaultValue ) this.value = ''" <?if ($_GET['terms']){?>value="<?=$_GET['terms'];?>"<?}else{?>value="search"<?}?> />

我想我会添加一个加载范围,我可以绝对使用:

在输入元素中定位
<span class="loader">Loading...</span>

另外,我认为这段代码可能会显示加载点数:

$.loader({
onAjax: true,
align: 'center',
img: 'images/facebook/pip.gif',
mask: true
});

它不起作用。有什么想法吗?我使用最新的jQuery

1 个答案:

答案 0 :(得分:2)

我认为你过度复杂化了,这是我使用的一个功能:

function setAreaTree(){
$('#projecthierarchy').html('<center><br><br><br><br><img src="img/loading_eeeeee.gif"></center>');
$.ajax({
    url: "sitemanager/sitemanager_ajax.php",
    data: {
        action:'getsidebar',
        pid:pid,
        aid:curaid,
        openareas:openareabars
    },
    success: function(data) { 
        $('#projecthierarchy').html(data)
    }
}); 

}

所以我只有一个id =“projecthierarchy”的div。当事件被触发时,加载器gif立即弹出,然后当ajax调用成功返回时,它会将div与内容放在一起。

这对你有用吗?