常见的一种效果,在用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来处理吧。

转载于:https://www.cnblogs.com/telwanggs/p/7418822.html

jquery.ajax之beforeSend方法使用介绍相关推荐

  1. jquery ajax缓存问题解决方法小结

    jquery ajax缓存问题解决方法小结 参考文章: (1)jquery ajax缓存问题解决方法小结 (2)https://www.cnblogs.com/zhuyeshen/p/11599254 ...

  2. 使用jquery ajax调用后台方法 有时候不调用回调函数

    今天在编辑修改页面时遇到了一个很尴尬的问题,浪费了好多时间,问题描述: 使用jquery ajax调用后台方法,正确时弹出提示框,并且跳转到list列表页面.然而,写好了之后有时候会不跳转,直接刷新一 ...

  3. jQuery ajax模板及各参数介绍

    Ajax简介: Ajax 即"Asynchronous Javascript And XML"(异步 JavaScript 和 XML),是指一种创建交互式网页应用的网页开发技术. ...

  4. jQuery $.Ajax 的beforeSend、complete、success、error的执行顺序和参数

    Ajax每天都在用,但都是复制来的,从来没有看过Ajax的回调函数到底有哪些参数,今天看了一下,记录下来加强记忆,希望能对大家也有些用处. ajax示例: $.ajax({ type: "P ...

  5. jquery ajax封装通用方法

    //发送ajax post请求 function ajaxPost(url, param, successfn, errorfn) {ajax("post", "json ...

  6. jQuery中的end()方法使用介绍

    转自:微点阅读  https://www.weidianyuedu.com 定义和用法 end() 方法结束当前链条中的最近的筛选操作,并将匹配元素集还原为之前的状态. 以上是官方说法,比较难理解. ...

  7. jQuery ajax - serializeArray() 序列化方法,让你一分钟获取表单里的所有内容

    一.对 serializeArray() 的理解 1.serializeArray()函数用于序列化一组表单元素,将表单内容编码为一个JavaScript数组. 2.serializeArray()函 ...

  8. jQuery ajax请求两次问题,jquery ajax请求了两次问题

    页面有一个请求form: 订单编号 用户帐户 发货状态 请选择 未发送 已发送 查询 JavaScript请求部分: function showdatalist() { var username = ...

  9. [转]使用jQuery.ajax傳送物件陣列給ASP.NET MVC

    本文转自:http://blog.darkthread.net/post-2012-06-23-post-array-to-mvc-with-jquery-ajax.aspx 在ASP.NET MVC ...

最新文章

  1. 06.Spring 资源加载 - ResourceLoader
  2. JBoss、Tomcat Classloader不完全分析
  3. NBIOT 移远BC28模块+stm32开发板例程、教程(打通TCP、COAP协议)
  4. ndr4108贴片晶振是多少频率_王一博社交平台:抛开贴小广告的电线杆,字里行间可见真性情...
  5. python评分卡建模-实现WOE编码及IV值计算
  6. 2019牛客暑期多校训练营(第十场)
  7. hadoop中的filesystem和localfilesystem
  8. 朋友圈、浏览器分享实现
  9. LeetCode——maximal-rectangle
  10. 小米虚高的估值泡沫要破了么?
  11. matlab元胞元素_MATLAB元胞数组(cell)知识
  12. 配置ArcGIS Server使用Windows AD Windows集成身份认证
  13. 能使用firebug的火狐浏览器下载地址
  14. 【转】教你如何用手机连接电脑上网
  15. matlab 带通滤波,MATLAB窗函数实现带通滤波器
  16. 什么是 DOM 和 BOM?
  17. 网络其他计算机无法访问,win7局域网别人无法访问我的电脑是为什么_win7其他电脑无法访问我的电脑如何修复-win7之家...
  18. 抽奖随机滚动_原来抽奖不是凭运气!两个技巧,让你在抽奖环节独占鳌头
  19. MSP-EXP430F5529LP_GPIO
  20. ubuntu 彻底删除php7,Ubuntu彻底删除PHP7.0的方法

热门文章

  1. (118)System Verilog 父类与子类对象复制(copy函数)详解
  2. (1)FPGA面试技能提升篇(SystemC)
  3. linux如何查看实时优先级,Linux进程优先级系统——设置实时进程优先级
  4. 小米更新显示非官方rom_魔趣ROM 安装刷入教程(小白新手)
  5. 内核并发控制---读写自旋锁 (来自网易)
  6. 文字 竖排居中_微信朋友圈文字如何设置居中居右?
  7. php批量生成优惠券,PHP自动批量生成会员卡号程序
  8. Zookeeper架构及FastLeaderElection机制
  9. MyBatis-Plus工具快速入门使用
  10. 如何在Android中使用OpenCV