当前位置: 首页 > 面试题库 >

如何在ajax请求期间显示正在处理的动画/微调器?

权兴为
2023-03-14
问题内容

我正在处理AJAX
POST时需要基本的微调器或处理动画。我正在使用JQuery和Python。我查看了文档,但无法确切知道将ajaxStart和ajaxStop函数放在何处。

这是我的js:

    <script type="text/javascript">
      $(function() {  
        $('.error').hide();  
        $("#checkin-button").click(function() { 
          var mid = $("input#mid").val();
          var message = $("textarea#message").val();
          var facebook = $('input#facebook').is(':checked');
          var name = $("input#name").val();
          var bgg_id = $("input#bgg-id").val();
          var thumbnail = $("input#thumbnail").val();
          var dataString = 'mid='+mid+'&message='+message+'&facebook='+facebook+'&name='+name+'&bgg_id='+bgg_id+'&thumbnail='+thumbnail;  
          $.ajax({  
            type: "POST",  
            url: "/game-checkin",  
            data: dataString,  
            success: function(badges) {  
            $('#checkin-form').html("<div id='message'></div><div id='badges'></div>");  
            $('#message').html("<h2><img class=\"check-mark\" src=\"/static/images/check-mark.png\"/>You are checked in!</h2>");  
            $.each(badges, function(i,badge) {
              $('#badges').append("<h2>New Badge!</h2><p><img class='badge' src='"+badge.image_url+"'><span class='badge-title'>"+badge.name+"</span></p>");  
            });
          }
       });
       return false;
     });  
    });
  </script>

问题答案:
$.ajax({
  type: "POST",
  url: "/game-checkin",
  data: dataString,
  beforeSend: function () {
    // ... your initialization code here (so show loader) ...
  },
  complete: function () {
    // ... your finalization code here (hide loader) ...
  },
  success: function (badges) {
    $('#checkin-form').html("<div id='message'></div><div id='badges'></div>");
    $('#message').html("<h2><img class=\"check-mark\" src=\"/static/images/check-mark.png\"/>You are checked in!</h2>");
    $.each(badges, function (i, badge) {
      $('#badges').append("<h2>New Badge!</h2><p><img class='badge' src='" + badge.image_url + "'><span class='badge-title'>" + badge.name + "</span></p>");
    })
  }
});

http://api.jquery.com/jQuery.ajax/:

这是$ .ajax()提供的回调挂钩:

调用beforeSend回调;它接收jqXHR对象和设置映射作为参数。如果请求失败,则会按照注册的顺序调用错误回调。它们接收jqXHR,指示错误类型的字符串以及适用的异常对象。某些内置错误将提供一个字符串作为异常对象:“中止”,“超时”,“无传输”。成功接收到响应数据后,将立即调用dataFilter回调。它接收返回的数据和dataType的值,并且必须返回(可能已更改)数据才能成功。如果请求成功,则按照注册的顺序调用成功回调。他们接收返回的数据,包含成功代码的字符串以及jqXHR对象。完成回调,无论请求是成功还是失败,按照请求完成的顺序进行注册。它们接收jqXHR对象,以及包含成功或错误代码的字符串。

注意beforeSend代码中的和完整方法添加。

希望有帮助。



 类似资料:
  • 问题内容: 我正在使用AngularJS 的服务来发出Ajax请求。 在执行Ajax请求时如何显示微调器GIF(或其他类型的忙碌指示器)? 我在AngularJS文档中看不到任何类似的内容。 问题答案: 这是 当前 过去的AngularJS咒语: 这是其余的(HTML / CSS)....使用 切换它。 注意:以上内容在发布开始时用于角度模块

  • 问题内容: 我想要的是具有更改页面一部分的链接,以及它的动态URL,在这里可以指定诸如 单击此处进行精确演示 所以这是我需要的链接格式: 我必须像链接变量和这样我就可以改变一个页面上的多个万物而不realoading。 或诸如http://www.wbhomes.com.au上的另一种格式,这 正是 我想要的,但是第一种格式也不错,但这要漂亮得多。 要求 需要从任何地方访问,例如邮件,或者我只写在

  • 问题内容: 我在显示我的Ajax微调器时遇到问题。现在,我正在使用以下代码对其进行测试: 我单击一个链接以显示加载器(Ruby on Rails代码): 我有加载程序应该出现在里面: 然后我的功能使其显示: 最后是我的CSS(注释掉一些东西以查看是否需要): 当我单击未显示的链接时,怎么会这样? 编辑: 我先隐藏微调器,然后在单击时再次显示它。切换到另一个链接之间如何? 问题答案: 好的,首先,您

  • 我有一个程序,用来在点击按钮后从网页上刮取源代码。我无法抓取正确的页面,因为我相信正在发送一个AJAX请求,我不会等待响应的发生。我的代码当前为: 参考此链接后,我相信要解决此问题,我可以实现“webClient.waitForBackgroundJavaScript(10000)”方法。唯一的问题是我不知道如何做到这一点,因为每次单击按钮时,我都会创建一个HtmlPage对象,而不是WebCli

  • 问题内容: 我想知道如何以n为一组进行ajax调用。 这是我的用例: 我有一个显示使用情况数据的表。您可以钻取每一行,如果每行都有一个可以更深入钻取的公共属性,则可以选择一次钻取所有它们。对于每一行,都会进行ajax调用以获取要附加到表中的数据。 在某些情况下,最多可以同时钻取50行。可以想象,这给服务器带来了很大压力。我如何最好地以较小的批次发送这些呼叫,这些呼叫在等待这些批次之后才能启动? 我

  • 问题内容: 我有一个jQuery AJAX请求,我希望在请求加载时显示ajax旋转器gif,然后在请求成功后消失,有人可以在下面的我的jquery代码中建议实现此问题的最佳方法: 问题答案: 从 Ajax加载器 获取加载器GIF (GIF图片) 将此图像放置在要显示/隐藏的位置。 在ajax之前, 显示此图像 。 完成后, 隐藏图像