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中阻止事件冒泡几种方式及其区别介绍
Jan 15 Javascript
js操纵dom生成下拉列表框的方法
Feb 24 Javascript
javascript中定义类的方法详解
Feb 10 Javascript
javascript动态创建链接的方法
May 13 Javascript
jQuery实现简单滚动动画效果
Apr 07 Javascript
Ionic快速安装教程
Jun 03 Javascript
Bootstrap CSS组件之面包屑导航(breadcrumb)
Dec 17 Javascript
JS获取短信验证码倒计时的实现代码
May 22 Javascript
微信小程序 swiper组件构建轮播图的实例
Sep 20 Javascript
vue router学习之动态路由和嵌套路由详解
Sep 21 Javascript
Hexo已经看腻了,来手把手教你使用VuePress搭建个人博客
Apr 26 Javascript
JavaScript数据结构与算法之二叉树添加/删除节点操作示例
Mar 01 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
根德YB400的电路分析
2021/03/02 无线电
PHP数据库开发知多少
2006/10/09 PHP
用 Composer构建自己的 PHP 框架之使用 ORM
2014/10/30 PHP
php实现多站点共用session实现单点登录的方法详解
2019/09/18 PHP
JavaScript 弹出窗体点击按钮返回选择数据的实现
2010/04/01 Javascript
javascript学习笔记(二十) 获得和设置元素的特性(属性)
2012/06/20 Javascript
使用firebug进行调试javascript的示例
2013/12/16 Javascript
js弹窗返回值详解(window.open方式)
2014/01/11 Javascript
js实现屏幕自适应局部代码分享
2015/01/30 Javascript
Nodejs全局安装和本地安装的不同之处
2016/07/04 NodeJs
jQuery序列化后的表单值转换成Json
2017/06/16 jQuery
vue loadmore 组件滑动加载更多源码解析
2017/07/19 Javascript
angularjs实现简单的购物车功能
2017/09/21 Javascript
VUE中的无限循环代码解析
2017/09/22 Javascript
JS实现不用中间变量temp 实现两个变量值得交换方法
2018/02/04 Javascript
Spring Boot/VUE中路由传递参数的实现代码
2018/03/02 Javascript
vue移动端实现下拉刷新
2018/04/22 Javascript
JS调用安卓手机摄像头扫描二维码
2018/10/16 Javascript
layui中select,radio设置不生效的解决方法
2019/09/05 Javascript
JS自定义对象创建与简单使用方法示例
2020/01/15 Javascript
package.json各个属性说明详解
2020/03/11 Javascript
微信小程序吸底区域适配iPhoneX的实现
2020/04/09 Javascript
[02:42]岂曰无衣,与子同袍!DOTA2致敬每一位守护人
2020/02/17 DOTA
Python使用QQ邮箱发送Email的方法实例
2017/02/09 Python
Python爬虫中urllib库的进阶学习
2018/01/05 Python
详解Python if-elif-else知识点
2018/06/11 Python
对numpy中的transpose和swapaxes函数详解
2018/08/02 Python
浅谈python新式类和旧式类区别
2019/04/26 Python
复化梯形求积分实例——用Python进行数值计算
2019/11/20 Python
HTML5新增的Css选择器、伪类介绍
2013/08/07 HTML / CSS
通过Canvas及File API缩放并上传图片完整示例
2013/08/08 HTML / CSS
您的健身减肥和健康饮食专家:vitafy
2017/06/06 全球购物
TUMI新加坡官网:国际领先的商旅箱包品牌
2019/01/12 全球购物
综合素质评价个性与发展自我评价
2015/03/06 职场文书
新闻报道稿范文
2015/07/23 职场文书
python实现手机推送 代码也就10行左右
2022/04/12 Python