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代码
Apr 24 Javascript
详解JS 比较两个Json对象的值是否相等的实例
Nov 20 Javascript
javascript中createElement的两种创建方式
May 14 Javascript
Bootstrap被封装的弹层
Jul 20 Javascript
用Angular实时获取本地Localstorage数据,实现一个模拟后台数据登入的效果
Nov 09 Javascript
Vue项目全局配置微信分享思路详解
May 04 Javascript
如何把vuejs打包出来的文件整合到springboot里
Jul 26 Javascript
Javascript中parseInt的正确使用方式
Oct 17 Javascript
基于vue实现移动端圆形旋钮插件效果
Nov 28 Javascript
koa中间件核心(koa-compose)源码解读分析
Jun 15 Javascript
Vue之封装公用变量以及实现方式
Jul 31 Javascript
实现一个简单得数据响应系统
Nov 11 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
《斗罗大陆》六翼天使武魂最强,为什么老千家不是上三宗?
2020/03/02 国漫
饭制《星际争霸》Mod:优化游戏机制 增加新单位
2017/07/02 星际争霸
PHP生成excel时单元格内换行问题的解决方法
2010/08/26 PHP
php数组函数序列之array_keys() - 获取数组键名
2011/10/30 PHP
php另类上传图片的方法(PHP用Socket上传图片)
2013/10/30 PHP
Sublime里直接运行PHP配置方法
2014/11/28 PHP
PHP输出日历表代码实例
2015/03/27 PHP
浅析php-fpm静态和动态执行方式的比较
2016/11/09 PHP
php编程实现简单的网页版计算器功能示例
2017/04/26 PHP
PHP不使用内置函数实现字符串转整型的方法示例
2017/07/03 PHP
Laravel框架搜索分页功能示例
2019/02/01 PHP
实例:尽可能写友好的Javascript代码
2006/10/09 Javascript
js 判断浏览器类型 去全角、半角空格 自动关闭当前窗口
2009/04/10 Javascript
JS显示下拉列表框内全部元素的方法
2015/03/31 Javascript
js实现tab切换效果实例
2015/09/16 Javascript
特殊日期提示功能的实现方法
2016/06/16 Javascript
JS输出空格的简单实现方法
2016/09/08 Javascript
js实现随机点名小功能
2017/08/17 Javascript
jQuery获取复选框选中的当前行的某个字段的值
2017/09/15 jQuery
详解VUE2.X过滤器的使用方法
2018/01/11 Javascript
vue-for循环嵌套操作示例
2019/01/28 Javascript
小程序显示弹窗时禁止下层的内容滚动实现方法
2019/03/20 Javascript
操作按钮悬浮固定在微信小程序底部的实现代码
2019/08/02 Javascript
微信小程序webview与h5通过postMessage实现实时通讯的实现
2019/08/20 Javascript
[51:34]Ti4主赛事胜者组 DK vs EG 2
2014/07/19 DOTA
python使用Flask框架获取用户IP地址的方法
2015/03/21 Python
Python函数中的函数(闭包)用法实例
2016/03/15 Python
使用OpenCV实现仿射变换—旋转功能
2019/08/29 Python
python多线程案例之多任务copy文件完整实例
2019/10/29 Python
PyCharm使用Docker镜像搭建Python开发环境
2019/12/26 Python
Python文本文件的合并操作方法代码实例
2020/03/31 Python
django为Form生成的label标签添加class方式
2020/05/20 Python
python字符串拼接+和join的区别详解
2020/12/03 Python
纯CSS3制作漂亮带动画效果的主机价格表
2015/04/25 HTML / CSS
儿科护士自我鉴定
2013/10/14 职场文书
一条慢SQL语句引发的改造之路
2022/03/16 MySQL