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 相关文章推荐
Jquery插件 easyUI属性汇总
Jan 19 Javascript
基于jquery实现后台左侧菜单点击上下滑动显示
Apr 11 Javascript
Jquery Uploadify上传带进度条的简单实例
Feb 12 Javascript
Css3制作变形与动画效果
Jul 24 Javascript
AngularJS 面试题集锦
Sep 06 Javascript
图文详解Javascript中的上下文和作用域
Feb 15 Javascript
微信小程序 出现47001 data format error原因解决办法
Mar 10 Javascript
详解vue-router 命名路由和命名视图
Jun 01 Javascript
浅谈PDF.js使用心得
Jun 07 Javascript
vue-router路由模式详解(小结)
Aug 26 Javascript
小程序简单两栏瀑布流效果的实现
Dec 18 Javascript
解决qrcode.js生成二维码时必须定义一个空div的问题
Jul 09 Javascript
实例讲解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
IIS+PHP+MySQL+Zend配置 (视频教程)
2006/12/13 PHP
PHP--用万网的接口实现域名查询功能
2012/12/13 PHP
php随机生成数字字母组合的方法
2015/03/18 PHP
PHP匿名函数和use子句用法实例
2016/03/16 PHP
yii gridview实现时间段筛选功能
2017/08/15 PHP
PHP中递归的实现实例详解
2017/11/14 PHP
javascript判断用户浏览器插件安装情况的代码
2011/01/01 Javascript
代码触发js事件(click、change)示例应用
2013/12/13 Javascript
JQuery EasyUI 加载两次url的原因分析及解决方案
2014/08/18 Javascript
js注入 黑客之路必备!
2016/09/14 Javascript
Bootstrap 实现查询的完美方法
2016/10/26 Javascript
AngularJS之ionic 框架下实现 Localstorage本地存储
2017/04/22 Javascript
javascript checkbox/radio onchange不能兼容ie8处理办法
2017/06/13 Javascript
Kettle中使用JavaScrip调用jar包对文件内容进行MD5加密的操作方法
2020/09/04 Javascript
Openlayers学习之加载鹰眼控件
2020/09/28 Javascript
Python入门篇之函数
2014/10/20 Python
Python出现segfault错误解决方法
2016/04/16 Python
Anaconda2 5.2.0安装使用图文教程
2018/09/19 Python
python通过nmap扫描在线设备并尝试AAA登录(实例代码)
2019/12/30 Python
Python reshape的用法及多个二维数组合并为三维数组的实例
2020/02/07 Python
python由已知数组快速生成新数组的方法
2020/04/08 Python
基于python实现MQTT发布订阅过程原理解析
2020/07/27 Python
使用CSS3的font-face字体嵌入样式的方法讲解
2016/05/13 HTML / CSS
Michael Kors美国官网:美式奢侈生活风格的代表
2016/11/25 全球购物
家得宝官网:The Home Depot(全球最大的家居装饰专业零售商)
2018/12/17 全球购物
国外软件测试工程师面试题
2016/12/09 面试题
国贸专业个人求职信范文
2014/01/08 职场文书
小学生暑假家长评语
2014/04/17 职场文书
竞聘自述材料
2014/08/25 职场文书
公司授权委托书范文
2014/09/21 职场文书
2014年建筑工程工作总结
2014/12/03 职场文书
幼师自荐信范文
2015/03/06 职场文书
欧也妮葛朗台读书笔记
2015/06/30 职场文书
2015迎新晚会活动总结
2015/07/16 职场文书
2016消防宣传标语口号
2015/12/26 职场文书
MySQL七种JOIN类型小结
2021/10/24 MySQL