jquery.ajax之beforeSend方法使用介绍


Posted in Javascript onDecember 08, 2014

常见的一种效果,在用ajax请求时,没有返回前会出现前出现一个转动的loading小图标或者“内容加载中..”,用来告知用户正在请求数据。这个就可以用beforeSend方法来实现。

下载demo:ajax loading

代码如下:

function test_ajax(){

   $.ajax(

   {

      type:"GET",//通常会用到两种:GET,POST。默认是:GET

      url:"a.php",//(默认: 当前页地址) 发送请求的地址

      dataType:"html",//预期服务器返回的数据类型。

      beforeSend:beforeSend, //发送请求

      success:callback, //请求成功

      error:error,//请求出错 

      complete:complete//请求完成

   });

}

function error(XMLHttpRequest, textStatus, errorThrown){

  // 通常情况下textStatus和errorThown只有其中一个有值 

  $("#showResult").append("<div>请求出错啦!</div>");

}

function beforeSend(XMLHttpRequest){

  $("#showResult").append("<div><img src='loading.gif' /><div>");

}

function complete(XMLHttpRequest, textStatus){

  $("#showResult").remove();

}

function callback(msg){

  $("#showResult").append("<div>请求成功,回传数:"+msg+"<div>");

}

方法beforeSend,用于在向服务器发送请求前添加一些处理函数。这是一个ajax事件,在ajax请求开始之前就被触发,通常允许用户修改XMLHttpRequest对象(比如说设置附加的头部信息),关于ajax事件的解释可参考文档:http://docs.jquery.com/Ajax_Events

我们还见到一种情况,很多网站在加载内容的过程中给出“数据加载中,请稍候”的提示,当内容被加载完毕后显示内容。可以设置默认文本显示为加载中的提示,当内容加载完毕时,我们可以通过ID选择器,将该标签中的文本替换成最终的内容。以此来取代beforeSend,效率更高。

什么时候用beforeSend,什么时候用文本替换,取决于ajax请求前后你所展示的DOM元素是否一致,如果你所展示的DOM元素在请求之前已经存在,那么通过上述文本替换的方式来处理会好些,如果除此以外你还需增加其他的需求,那么还是用beforeSend来处理吧。

Javascript 相关文章推荐
html 锁定页面(js遮罩层弹出div效果)
Oct 27 Javascript
基于jQuery的前端数据通用验证库
Aug 08 Javascript
Javascript倒计时页面跳转实例小结
Sep 11 Javascript
jquery实现更改表格行顺序示例
Apr 30 Javascript
jquery 显示*天*时*分*秒实现时间计时器
May 07 Javascript
js实现无缝滚动图
Feb 22 Javascript
解决html input验证只能输入数字,不能输入其他的问题
Jul 21 Javascript
vue  elementUI 表单嵌套验证的实例代码
Nov 06 Javascript
微信小程序点击顶部导航栏切换样式代码实例
Nov 12 Javascript
Vue.js 中制作自定义选择组件的代码附演示demo
Feb 28 Javascript
浅析vue cli3 封装Svgicon组件正确姿势(推荐)
Apr 27 Javascript
vue判断按钮是否可以点击
Apr 09 Vue.js
实例讲解JQuery中this和$(this)区别
Dec 08 #Javascript
Jquery实现由下向上展开效果的例子
Dec 08 #Javascript
Javascript常用字符串判断函数代码分享
Dec 08 #Javascript
jQuery/CSS3图片特效插件整理推荐
Dec 07 #Javascript
web前端设计师们常用的jQuery特效插件汇总
Dec 07 #Javascript
基于jQuery实现的文字按钮表单特效整理
Dec 07 #Javascript
基于jQuery实现的图片切换焦点图整理
Dec 07 #Javascript
You might like
一些操作和快捷键的理解和讨论
2020/03/04 星际争霸
小偷PHP+Html+缓存
2006/11/25 PHP
分享下页面关键字抓取components.arrow.com站点代码
2014/01/30 PHP
PHP使用array_multisort对多个数组或多维数组进行排序
2014/12/16 PHP
深入浅析用PHP实现MVC
2016/03/02 PHP
PHP parse_ini_file函数的应用与扩展操作示例
2019/01/07 PHP
字符串的replace方法应用浅析
2011/12/06 Javascript
Jquery 例外被抛出且未被接住原因介绍
2013/09/04 Javascript
JQuery实现鼠标滑过显示导航下拉列表
2013/09/12 Javascript
jquery实现用户信息修改验证输入方法汇总
2015/07/18 Javascript
解决angular的$http.post()提交数据时后台接收不到参数值问题的方法
2015/12/10 Javascript
Vue组件BootPage实现简单的分页功能
2016/09/12 Javascript
原生js实现鼠标跟随效果
2017/02/28 Javascript
JavaScript实现类似淘宝的购物车效果
2017/03/16 Javascript
详解基于vue-cli优化的webpack配置
2017/11/06 Javascript
详解vue-cli3 中跨域解决方案
2019/04/10 Javascript
微信小程序 自定义弹窗实现过程(附代码)
2019/12/05 Javascript
如何使用RoughViz可视化Vue.js中的草绘图表
2021/01/30 Vue.js
[01:03:33]Alliance vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
利用Python绘制数据的瀑布图的教程
2015/04/07 Python
Python常见读写文件操作实例总结【文本、json、csv、pdf等】
2019/04/15 Python
OpenCV 轮廓检测的实现方法
2019/07/03 Python
python实现把两个二维array叠加成三维array示例
2019/11/29 Python
Otticanet意大利:最顶尖的世界名牌眼镜, 能得到打折季的价格
2019/03/10 全球购物
JD Sports荷兰:英国领先的运动时尚零售商
2020/03/13 全球购物
英国领先的在线鱼贩:The Fish Society
2020/08/12 全球购物
MIS软件工程师的面试题
2016/04/22 面试题
煤矿班组长的职责
2013/12/25 职场文书
物理教师自荐信范文
2013/12/28 职场文书
关于迟到的检讨书
2014/01/26 职场文书
中英文求职信范文
2014/01/27 职场文书
同事吵架检讨书
2014/02/05 职场文书
战略合作意向书范本
2014/04/01 职场文书
慈善晚会策划方案
2014/05/14 职场文书
征兵宣传标语
2014/06/20 职场文书
解决Python字典查找报Keyerror的问题
2021/05/26 Python