ajaxStart() 显示加载消息似乎不起作用

发布于 2024-08-31 12:08:39 字数 1025 浏览 9 评论 0原文

我用户 jquery.ajax 调用 asp.net mvc 的控制器...我想显示一个加载指示器..我尝试了这个,但这似乎不起作用...

<div class="loading" style="padding-left:5px; margin-bottom:5px;display:none;">
      Loading...&nbsp
</div>

我的 jquery ajax 调用看起来像这样,

function getMaterials(currentPage) {
    $.ajax({
    url: "Materials/GetMaterials",
        data: {'currentPage': (currentPage + 1) ,'pageSize':5},
        contentType: "application/json; charset=utf-8",
        global: false,
        async: false,
        dataType: "json",
        success: function(data) {
            var divs = '';
            $("#ResultsDiv").empty();
            $.each(data.Results, function() {
                //my logic here....              
                $(".loading").bind("ajaxStart", function() {
                $(this).show();
                }).bind("ajaxStop", function() {
                $(this).hide();
                });
            }
    });
    return false;
}

我的加载指示器似乎没有显示..任何建议....

I user jquery.ajax call to controller of asp.net mvc... I would like to show a loading indicator.. I tried this but that doesn't seem to work...

<div class="loading" style="padding-left:5px; margin-bottom:5px;display:none;">
      Loading... 
</div>

and my jquery ajax call looks like this,

function getMaterials(currentPage) {
    $.ajax({
    url: "Materials/GetMaterials",
        data: {'currentPage': (currentPage + 1) ,'pageSize':5},
        contentType: "application/json; charset=utf-8",
        global: false,
        async: false,
        dataType: "json",
        success: function(data) {
            var divs = '';
            $("#ResultsDiv").empty();
            $.each(data.Results, function() {
                //my logic here....              
                $(".loading").bind("ajaxStart", function() {
                $(this).show();
                }).bind("ajaxStop", function() {
                $(this).hide();
                });
            }
    });
    return false;
}

My loading indicator doen't seem to showup.. ANy suggestion....

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

z祗昰~ 2024-09-07 12:08:39

使用 .ajax() 你应该只调用

beforeSend:  function(xmlHttpRequest){
    // show anything here
}

complete:  function(xmlHttpRequest, status){
    // hide it again
}

using .ajax() you should just call:

beforeSend:  function(xmlHttpRequest){
    // show anything here
}

and

complete:  function(xmlHttpRequest, status){
    // hide it again
}
送舟行 2024-09-07 12:08:39

当我们使用 async: false 发送 ajax 调用时,ajaxStartbeforeSend 适用于 Firefox,但不适用于所有浏览器(即 Safari)。我还在寻找这个方法

ajaxStart and beforeSend does work for Firefox but not for the all browsers (ie Safari) when we are sending the ajax call with async: false. I'm still finding the way for this

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文