生成 ) 调用下面方法: 复制 function"> 跳转到主内容
新派编程网 - 新潮编程理念,全新技术课堂!

Ajax实现loading等待效果提高用户体验

这次给大家带来Ajax实现loading等待效果提高用户体验,的 注意事项 有哪些,下面就是实战案例,一起来看一下。 首先,我们通过 ajax 请求,向后台传递参数,然后后台经过一系列的运算之后向前台返还数据,我希望在等待数据成功返还之前可以展示一个loading.gif图 不废话,在页面上执行点击 事件
(javascript:void(0)" rel="external nofollow" onclick="build(this)">生成
) 调用下面方法:
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(''); }, 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(''); }, complete: function () { $('#load').remove(); } }); }
后台页面就不写了,url中配置了传递到后台的路径,最主要的就是
beforeSend: function () { jqSender.hide().after(''); },
这要考虑到ajax异步请求的特点,当ajax执行到url的时候,会有一个线程跳转到后台去执行, 浏览器会增加一个线程(不知道这么说标不标准)继续执行后面的程序,到
success: function (data)
暂停等待 后台成功的返回数据 这样,before里面插入的图片就相当于是一个loading,当数据成功返回后,把before里面的图片移除,写在complete: function ()语句中。 我后台的处理流程大概是这样的:首先一个http GET请求,获取微信公众平台的access_token,然后再用http POST请求 ,获取换取微信二维码的ticket 然后再用WebClient方法,把请求到的二维码下载到本地存储,然后就是数据库的增删查改,展示二维码到网页上。 这么一大段才让loading有足够的时间展示出来,如果时间比较短,可以网上查查看有没有定义一个时间,让loading能够完整的显示,免得很突兀。 相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章! 推荐阅读: Ajax使用步骤详解 基于jQuery的AJAX和JSON的实例 中文WORD版 本文档主要讲述的是基于jQuery的AJAX和JSON的实例;过jQuery内置的AJAX功能,直接访问后台获得JSON格式的数据,然后通过jQuer把数据绑定到事先设计好的html模板上,直接在页面上显示。有需要的朋友可以下载看看 下载 Ajax()与后台交互使用详解 jQuery使用ajax跨域获取数据步骤详解

相关文章