jQuery的ajax模块封装了非常强大的功能,有时候我们在发送一个ajax请求的时候希望能有一个超时的时间,想让程序在一段时间请求不到数据时做出一些反馈。幸运的是jQuery为我们提供了这样的参数:timeout。今天试了一下,做个记录。

  首先在试验之前,有一个一直搞不明白的东西,那就是默认的超时时间是多少?这个配置在到底在什么地方设置。jQuery中?还是apache中?PHP中?

  经过一番搜索,暂得到如下结论:

  ①jQuery没有默认的超时时间,只可以通过参数来配置;

  ②apache2的默认超时时间是300秒,但是我在httpd.conf中设置Timeout 10,压根没起到作用,不明白是怎么回事

  ③php.ini中,只找到一个max_execution_time来配置脚本最长执行时间,貌似也没什么关系

  智商捉急。。。哪位高手知道,一定告诉一下我啊~~

  下面来看jQuery中的timeout参数,值为Number类型,单位为毫秒。为了在超时的时候执行我们定义好的处理函数,可以把它放在error参数中,如下代码:

$.ajax({url : 's.php',timeout : 3000,error : function(xhr,textStatus){console.log('error:'+textStatus);},});

  s.php中的内容为sleep(100)。这样在3秒后会输出error:timeout,textStatus即为错误的内容。这个还是很用的,如果你的error函数中还要进行其他处理,为了不与超时混在一起,可以这么写:

error : function(xhr,textStatus){if(textStatus=='timeout'){//处理超时的逻辑
      }else{//其他错误的逻辑
      }}

  还可以把函数写在complete中,因为无论success还是error,complete函数都会执行。

  这下就可以轻松为超时指定动作了。不过在手工之前呢我还要小小的辟谣一下,因为在网上搜索文章的时候,有人如此描述timeout参数:会覆盖掉全局的设置。看到这句我顿时菊花一紧,难道我在这里设一次,页面上再用$.ajax的时候都会在3秒后超时?跑去官网一看文档,原句子是这么写的:“This will override any global timeout set with$.ajaxSetup().”,原来是会覆盖掉$.ajaxSetup()中的设置,如果我压根就没用$.ajaxSetup()这个函数,便什么事都没有。

为jQuery的$.ajax设置超时时间相关推荐

  1. Ajax设置超时时间,Ajax请求延迟提示

    Ajax参数API参考:https://www.w3school.com.cn/jquery/ajax_ajax.asp 方式一 设置时间超过,断开请求连接 /*** ajax接口---------- ...

  2. 移动端ajax,jQuery基于$.ajax设置移动端click超时处理方法

    本文实例讲述了jQuery基于$.ajax设置移动端click超时处理方法.分享给大家供大家参考,具体如下: 这里介绍jquery click事件如何在移动端自动转换成touchstart事件. 因为 ...

  3. HttpClient 如何设置超时时间

    今天分享一个巨坑,就是 HttpClient.这玩意有多坑呢?就是每个版本都变,近日笔者深受其害. 先看一下代码,我要发送请求调用一个c++接口. public static String doPos ...

  4. 【Java 网络编程】服务器端 ServerSocket 配置 ( 端口复用 | 缓冲区设置 | 超时时间 | 性能权重 | 端口绑定 )

    文章目录 I ServerSocket 端口号绑定参数 II ServerSocket 复用绑定端口设置 III ServerSocket 设置缓冲区大小 IV ServerSocket 设置超时时间 ...

  5. python给函数设置超时时间_在 Linux/Mac 下为Python函数添加超时时间的方法

    我们在使用 requests 这类网络请求第三方库时,可以看到它有一个参数叫做 timeout ,就是指在网络请求发出开始计算,如果超过 timeout 还没有收到返回,就抛出超时异常.(当然存在特殊 ...

  6. php如何发起远程请求,PHP请求远程地址如何设置超时时间

    PHP请求远程地址设置超时时间的方法:1.[file_get_contents]请求超时设置:2.fopen请求超时设置:3.curl请求超时设置. [相关学习推荐:php编程(视频)] PHP请求远 ...

  7. 同时设置超时时间_刚入职的小菜鸡,设错了RPC超时,搞了个线上事故

    上面这张监控图,对于服务端的研发同学来说再熟悉不过了.在日常的系统维护中,『服务超时』应该属于监控报警最多的一类问题. 尤其在微服务架构下,一次请求可能要经过一条很长的链路,跨多个服务调用后才能返回结 ...

  8. python给函数设置超时时间_在 Linux/Mac 下为Python函数添加超时时间

    我们在使用 requests 这类网络请求第三方库时,可以看到它有一个参数叫做timeout,就是指在网络请求发出开始计算,如果超过 timeout 还没有收到返回,就抛出超时异常.(当然存在特殊情况 ...

  9. 调用webservice 设置超时时间

    前段时间自己写了个程序,调用webservice,今天早上一执行,速度是相当的慢,一开始以为是程序的问题,后来跟踪一看,原来是调用webservice出现问题,放置webservice的服务器关掉了, ...

最新文章

  1. Python的冷技巧小技巧
  2. python mysqldb_python学习-使用MySQLdb操作mysql数据库
  3. java生成大素数_代码优化 - 生成素数
  4. 结构变量的定义和引用
  5. YAPI接口自动化测试工具---使用记录
  6. python解决xml文件中存在中文文字的问题
  7. (1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  8. 字符串Contains匹配失效
  9. 缓存热点问题解决方案
  10. ERP技术在财务信息化转型中应用探讨
  11. 您不是订单管理的定向开发者_全面升级投放和营销能力 华为应用市场商业推广助力开发者高效增长...
  12. VC++6.0安装完成后MSDEV.EXE出错的解决办法
  13. ISO14001环境管理体系认证好处
  14. 搭建深度学习环境及跑通Github代码
  15. 学习笔记12-SG90舵机
  16. crr树不同步数期权定价 matlab,CRR二叉树模型和例题.doc
  17. 宋体 ttf_.shx和.ttf字体,你真的了解?
  18. ADB——连接手机的三种方式
  19. Xilinx FPGA “打一拍”“打两拍”以及IOB含义
  20. AcWing 297. 赤壁之战

热门文章

  1. TP,TN,FP,FN
  2. 网络慢是带宽不足?优化网络带宽的5个小窍门
  3. github开源项目分享
  4. Entity Framework Core 2.0的新特性
  5. 【Java 基础篇】【第一课】HelloWorld
  6. gaokao--抓取高校基本信息
  7. 反序列化出现异常:SerializationException 在分析完成之前就遇到流结尾
  8. 如何使对话框中接收到WM_CHAR消息(Windows编程)
  9. 逆向而行—ASP的O/R MAPPING 使用解释
  10. 前端console log之坑。。。