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 相关文章推荐
用于自动添加Digg This!按钮的JavaScript
Dec 23 Javascript
JQuery与iframe交互实现代码
Dec 24 Javascript
Js+Flash实现访问剪切板操作
Nov 20 Javascript
jquery ajax 调用失败的原因示例介绍
Sep 27 Javascript
Javascript显示和隐藏ul列表的方法
Jul 15 Javascript
js实现显示当前状态的导航效果代码
Aug 28 Javascript
详解javascript事件冒泡
Jan 09 Javascript
jQGrid Table操作列中点击【操作】按钮弹出按钮层的实现代码
Dec 05 Javascript
vue 中directive功能的简单实现
Jan 05 Javascript
jQuery实现左右滑动的toggle方法
Mar 03 jQuery
Vue 实现双向绑定的四种方法
Mar 16 Javascript
原生JavaScript实现幻灯片效果
Feb 19 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
yum命令安装php7和相关扩展
2016/07/04 PHP
PHP7.1方括号数组符号多值复制及指定键值赋值用法分析
2016/09/26 PHP
php实现文件与16进制相互转换的方法示例
2017/02/16 PHP
PHP连接SQL Server的方法分析【基于thinkPHP5.1框架】
2019/05/06 PHP
jQuery 获取和设置select下拉框的值实现代码
2013/11/08 Javascript
Js实现动态添加删除Table行示例
2014/04/14 Javascript
图片放大镜jquery.jqzoom.js使用实例附放大镜图标
2014/06/19 Javascript
jQuery中:header选择器用法实例
2014/12/29 Javascript
JavaScript中String.prototype用法实例
2015/05/20 Javascript
全面解析多种Bootstrap图片轮播效果
2016/05/27 Javascript
Javascript中类式继承和原型式继承的实现方法和区别之处
2017/04/25 Javascript
JS中利用swiper实现3d翻转幻灯片实例代码
2017/08/25 Javascript
tangram.js库实现js类的方式实例分析
2018/01/06 Javascript
JavaScript设计模式之工厂模式简单实例教程
2018/07/03 Javascript
javascript异步处理与Jquery deferred对象用法总结
2019/06/04 jQuery
python访问纯真IP数据库的代码
2011/05/19 Python
Python列表推导式的使用方法
2013/11/21 Python
纯Python开发的nosql数据库CodernityDB介绍和使用实例
2014/10/23 Python
简要讲解Python编程中线程的创建与锁的使用
2016/02/28 Python
Python计算库numpy进行方差/标准方差/样本标准方差/协方差的计算
2018/12/28 Python
Python代码实现http/https代理服务器的脚本
2019/08/12 Python
python加载自定义词典实例
2019/12/06 Python
Tensorflow中的降维函数tf.reduce_*使用总结
2020/04/20 Python
python实现人像动漫化的示例代码
2020/05/17 Python
python实现人工蜂群算法
2020/09/18 Python
屈臣氏越南官网:Watsons越南
2021/01/14 全球购物
OLEDBConnection和SQLConnection有什么区别
2013/05/31 面试题
应聘销售主管的求职信
2014/04/26 职场文书
小学教师师德承诺书
2014/05/23 职场文书
市政工程技术专业自荐书
2014/07/06 职场文书
忠诚奉献演讲稿
2014/09/12 职场文书
义诊活动总结
2015/02/04 职场文书
戒赌保证书
2015/05/11 职场文书
公司老总年会致辞
2015/07/30 职场文书
妇联2016年六一国际儿童节活动总结
2016/04/06 职场文书
Python如何配置环境变量详解
2021/05/18 Python