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 相关文章推荐
js获取单选按钮的数据
Nov 27 Javascript
javascript DOM编程实例(智播客学习)
Nov 23 Javascript
js移除事件 js绑定事件实例应用
Nov 28 Javascript
JavaScript中instanceof运算符的用法总结
Nov 19 Javascript
JS控制图片翻转示例代码(兼容firefox,ie,chrome)
Dec 19 Javascript
javascript中slice(),splice(),split(),substring(),substr()使用方法
Mar 13 Javascript
Javascript中内建函数reduce的应用详解
Oct 20 Javascript
微信小程序 富文本转文本实例详解
Oct 24 Javascript
微信小程序数据分析之自定义分析的实现
Aug 17 Javascript
浅谈VUE单页应用首屏加载速度优化方案
Aug 28 Javascript
Vue中keep-alive组件的深入理解
Aug 23 Javascript
antd vue table跨行合并单元格,并且自定义内容实例
Oct 28 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
使用session判断用户登录用户权限(超简单)
2013/06/08 PHP
PHP的魔术常量__METHOD__简介
2014/07/08 PHP
PHP中的output_buffering详细介绍
2014/09/27 PHP
详解WordPress开发中wp_title()函数的用法
2016/01/07 PHP
Yii框架函数简单用法分析
2019/09/09 PHP
php计数排序算法的实现代码(附四个实例代码)
2020/03/31 PHP
再论Javascript的类继承
2011/03/05 Javascript
jquery.autocomplete修改实现键盘上下键自动填充示例
2013/11/19 Javascript
jquery插件corner实现圆角边框的方法
2015/03/09 Javascript
使用JS批量选中功能实现更改数据库中的status状态值(批量展示)
2016/11/22 Javascript
微信小程序搜索组件wxSearch实例详解
2017/06/08 Javascript
Vue项目webpack打包部署到服务器的实例详解
2017/07/17 Javascript
vue watch关于对象内的属性监听
2019/04/22 Javascript
使用axios请求时,发送formData请求的示例
2019/10/29 Javascript
js实现点赞效果
2020/03/16 Javascript
JavaScript如何操作css
2020/10/24 Javascript
通过实例了解Render Props回调地狱解决方案
2020/11/04 Javascript
phpsir 开发 一个检测百度关键字网站排名的python 程序
2009/09/17 Python
在Python下尝试多线程编程
2015/04/28 Python
使用DataFrame删除行和列的实例讲解
2018/04/08 Python
pandas的object对象转时间对象的方法
2018/04/11 Python
python函数与方法的区别总结
2019/06/23 Python
django2.2安装错误最全的解决方案(小结)
2019/09/24 Python
水芝澳美国官网:H2O Plus
2016/10/15 全球购物
2014年教师培训的自我评价
2014/01/03 职场文书
幼师自我鉴定
2014/02/01 职场文书
银行职员个人的工作自我评价
2014/02/15 职场文书
课程改革实施方案
2014/03/16 职场文书
校企合作协议书
2014/04/16 职场文书
汽车服务工程专业自荐信
2014/09/02 职场文书
机关干部作风建设剖析材料
2014/10/23 职场文书
项目技术负责人岗位职责
2015/04/13 职场文书
老人与海读书笔记
2015/06/26 职场文书
学校远程教育工作总结
2015/08/11 职场文书
小学数学教师研修感悟
2015/11/18 职场文书
Nginx内网单机反向代理的实现
2021/11/07 Servers