• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

关于Ajax返回数据之前的loading等待效果实现方法

php 搞代码 3年前 (2022-01-22) 18次浏览 已收录 0个评论

我们都知道在我们加载一些页面的时候。会出现等待loading页面,我们通过ajax请求,向后台传递参数,然后后台经过一系列的运算之后向前台返还数据,我希望在等待数据成功返还之前可以展示一个loading.gif图。接下来通过本文给大家分享Ajax返回数据之前的loading等待效果,需要的朋友可以参考下。

不废话,在页面上执行点击事件(<a sceneid="@scene.ID" href="javascript:void(0)" rel="external nofollow" onclick="build(this)">生成</a>

调用下面方法:

function build(sender) {  var jqSender = $(sender);  var sceneid = jqSender.attr('sceneid');  $.ajax({   type: 'post',   url: "Follow/UpdateUrl",   data: { sceneid: sceneid },   beforeSend: function () {    jqSender.hide().after('<img id="load" src="/images/load.gif" />');   },   success: function (data) {    //根据id和class获取td标签    $('tbody tr[id=' + sceneid + '] td.wxurl-col').html(data.QRUrl);    $('tbody tr[id=' + sceneid + '] td.localkey-col').html(data.LocalKey);    //隐藏生成按钮,插入图片    var localkey = data.LocalKey;    jqSender.after('<img src="/image/' + localkey + '" />');   },   complete: function () {    $('#load').remove();   }  }); }

后台页面就不写了,url中配置了传递到后台的路径,最主要的就、本文来源gao($daima.com搞@代@#码$网搞gaodaima代码

beforeSend: function () { jqSender.hide().after('<img id="load" src="/images/load.gif" />'); },

这要考虑到ajax异步请求的特点,当ajax执行到url的时候,会有一个线程跳转到后台去执行,

浏览器会增加一个线程(不知道这么说标不标准)继续执行后面的程序,到success: function (data)暂停等待 后台成功的返回数据

这样,before里面插入的图片就相当于是一个loading,当数据成功返回后,把before里面的图片移除,写在complete: function ()语句中。

我后台的处理流程大概是这样的:首先一个http GET请求,获取微信公众平台的access_token,然后再用http POST请求,获取换取微信二维码的ticket

然后再用WebClient方法,把请求到的二维码下载到本地存储,然后就是数据库的增删查改,展示二维码到网页上。

这么一大段才让loading有足够的时间展示出来,如果时间比较短,可以网上查查看有没有定义一个时间,让loading能够完整的显示,免得很突兀。

相关推荐:

微信小程序loading组件如何载入动画方法教程

如何解决多个ajax页面请求,页面loading阻塞问题

loading动画有哪些?

以上就是关于Ajax返回数据之前的loading等待效果实现方法的详细内容,更多请关注搞代码gaodaima其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:关于Ajax返回数据之前的loading等待效果实现方法

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址