代码之家  ›  专栏  ›  技术社区  ›  Dav.id

jquery没有立即更新DOM?

  •  2
  • Dav.id  · 技术社区  · 14 年前

    我已经看了其他几个问题,尝试了一些选择,但还是有点损失。

    $.ajax({
        type: 'GET',
        url: 'AJAXget/getPostcodeCheck.ashx',
        data: 'postcode=' + postcode,
        async: false,
        timeout: 10000,
        success: postcodeCallback,
        error: function () {
            alert('Sorry, there was an issue contacting the server.. please retry.');
            return;
        }
    });
    

    我有以下jQuery AJAX绑定函数,例如,我想在其中显示正在加载的内容。。

    $('#' + btnID).bind('ajaxStart', function () {
        $('#' + btnID).append('<div>loading</div>');
    });
    

    这只是一个基本的例子。。我确实对元素使用了addClass函数(#btnID是一个div),但是似乎没有直接发生任何事情。

    任何建议/想法都非常感谢!

    2 回复  |  直到 11 年前
        1
  •  1
  •   Phil.Wheeler    14 年前

    尝试对ajaxStart方法进行如下编码:

    $('#' + btnID).ajaxStart(function() {
      $(this).append('<div>loading</div>');
    });
    

    另外,看看当您简化jQuery Ajax调用时会发生什么:

    $.get('AJAXget/getPostcodeCheck.ashx', { postcode: postcode }, function(data) {
      //$('#yourResultElement').html(data);
      console.info(data);
    });
    

        2
  •  1
  •   S P    14 年前

    我假设这个代码是在用户点击一个按钮之后调用的。在这种情况下,为什么不执行以下操作:

    1. 在Ajax调用之前,请执行以下操作:$('35;'+btnID).append('loading');

    推荐文章