ajax进度提示,Ajax在请求过程中显示进度的简单实现
Ajax在Web应用中使用得越来越频繁。在进行Ajax调用过程中一般都具有这样的做法:显示一个GIF图片动画表明后台正在工作,同时阻止用户操作本页面(比如Ajax请求通过某个按钮触发,用户不能频繁点击该按钮产生多个并发Ajax请求);调用完成后,图片消失,当前页面运行重新编辑。以下图为例,页面中通过一个Load链接以Ajax请求的方式加载数据(左)。当用户点击该链接之后,Ajax请求开始,GIF图片显示“Loading“状态,同时当前页面被“罩住”防止用户继续点击Load按钮(中);Ajax请求完成被返回响应的结果,结果被呈现出来的同时,GIF图片和“遮罩”同时消失(右)。
在这里我同样以ASP.NET MVC应用为例,提供一种简单的实现方式。我们GIF图片和作为遮罩的
.hide{displaynone }
.progress{z-index }
.mask{position fixed;top ;right ;bottom ;left ; z-index ; background-color #}
...
然后我们通过如下的代码为jQuery定义了另一个实现Ajax调用的方法ajax2,该方法依然调用$.ajax(options)实现Ajax调用。在ajax2方法中我们将options参数complete属性进行了“封装”,让可以将显示出来的GIF图片和遮罩
...
$(function () {
$.ajax = function (options) {
var img = $("#progressImgage");
var mask = $("#maskOfProgressImage");
var complete = options.complete;
options.complete = function (httpRequest, status) {
img.hide();
mask.hide();
if (complete) {
complete(httpRequest, status);
}
};
options.async = true;
img.show().css({
"position" "fixed",
"top" "%",
"left" "%",
"margin-top" function () { return - * img.height() / ; },
"margin-left" function () { return - * img.width() / ; }
});
mask.show().css("opacity", ".");
$.ajax(options);
};
});
...
那么现在进行Ajax调用的时候只需要调用$.ajax2就可以,如下所示的是实例中“Load”链接的click事件的注册代码:
Load
$("#load").click(function () {
$.ajax ({
url '@Url.Action("GetContacts")',
success function(result)
{
$("#result").html(result);
}
});
});
ajax进度提示,Ajax在请求过程中显示进度的简单实现相关推荐
- Pytest----pytest-sugar 执行过程中显示进度条
[原文链接]Pytest----pytest-sugar 执行过程中显示进度条 Pytest-sugar是一款用来改善控制台显示的插件,增加了进度条显示,使得在用例执行过程中可以看到进度条,而且进度条 ...
- 统一处理jquery ajax请求过程中的异常错误信息的机制
统一处理jquery ajax请求过程中的异常错误信息的机制 参考文章: (1)统一处理jquery ajax请求过程中的异常错误信息的机制 (2)https://www.cnblogs.com/wi ...
- MKNetwork网络请求过程中onCompletion调用两次的问题
MKNetwork在网络请求过程中,MKNetworkOperation操作同一个url请求(GET请求)时会调用两次onCompletion. 这样会引起两次的数据问题. 现在一种解决方法. if ...
- 请求过程中,需要证书认证,这种情况下如何处理
某些站点请求时候,会需要证书,没有通过认证直接访问, 请求返回结果一般包含 code 443 和 cert,要如何处理 1.请求过程中,添加证书,但这种方式不那么方便或者友好,一般不这么处理 2.请 ...
- 在Perl程序中显示进度条之多姿多彩的自写代码
在Perl程序中显示进度条之多姿多彩的自写代码 yixf 于 2011-11-29,09:57 方法一 1 2 3 4 5 6 7 8 #!/usr/bin/perlmy $max = 10; f ...
- android 显示进度,progressdialog-如何在Android中显示进度对话框?
progressdialog-如何在Android中显示进度对话框? 当我单击"登录"按钮时,我想显示ProgressDialog,这需要时间才能移动到另一个页面. 我怎样才能做到 ...
- 安装python系统找不到指定的路径_解决安装过程中显示“系统找不到指定的路径”-百度经验...
解决软件安装过程中显示"系统找不到指定的路径"?有些用户在变声专家一半时候弹出"无法打开....系统找不到指定的路径"字样,解决方法非常简单,如遇上述问题的小伙 ...
- android 图片处理过程中添加进度条,『Android自定义View实战』给我一个图标,还你一个水波纹进度球...
前言 我们都知道,平时表现进度的方式有千千万万种(没有UI想不到的,只有你做不到的= =.),其中有一种就是水波纹进度球的形式,网上很多种实现都是直接采用纯色填充的方式,即水波纹都是纯颜色填充,效果看 ...
- 网站请求过程中的代号及意义
[我COPY来的:https://blog.csdn.net/iteye_15036/article/details/81523989] IIS状态代码的含义 概要 当用户试图通过HTTP或文件传输协 ...
- android 图片处理过程中添加进度条,[Android] 随时拍图像处理部分总结及源码分......
? ? ? ? 随着寒假到来,终于有时间总结下Android这个随手拍的课程作业了,同时分享了我完成的这部分对图像处理的心得吧!你可以结合demo来阅读这篇文章,希望对大家有所帮助. ? ? ? ? ...
最新文章
- 熵的定义(很好的方法论工具尤其第三熵增益的计算)
- 关于MAC升级后,vim更新插件报错
- NUMA架构的CPU
- mysql主键自增长_全面的MySQL优化面试解析
- npm 更改默认全局路径以及国内镜像
- 判断radio单选框是否选中
- 用java编写一个课表串口,安卓课程表源代码
- Ubuntu快速设置指南
- 题目264-国王的魔镜
- LOJ 6437 PKUSC2018 PKUSC
- 第5章 NameNode和SecondaryNameNode
- Linux基础教程 (第二版) 第2版
- 一元函数积分学之1__不定积分
- 安卓游戏应用如何在linux上流畅运行
- 【前端三剑客三】 JavaScript
- Tushare学习文档(十 电影票房)
- Android和iOS下载量统计方法
- Paper intensive reading (十三):Removing batch effects in analysis of expression microarray data
- securecrt8注册码
- 13种老人不适合带孩子_老人带小孩要注意的13种不恰当行为必须纠正!
热门文章
- 毕业设计 免费送源码-Django美食分享交流网站 10913,【计算机毕业设计开题选题+程序定制+论文书写+答辩ppt书写-原创(题目+编号)的定制程序】
- 油猴插件: AC-百度-重定向优化
- 【NOI2016模拟3.1】hypocritical
- 常用输入输出函数及其用法:cin函数,getchar()函数,putchar函数,gets_s()函数等
- because it violates the following Content Security Policy directive: “img-src ‘self‘ data:base64“
- handler消息机制 (转载刚哥)
- SSM药房管理系统 计算机毕设源码42430
- 千里走单骑:12-北京到上海骑记--Day11.扬州坑爹路
- 小程序这样火,现在还可以加盟吗?
- 51单片机自学day1