学习AJAX必知必会(3)~自动重启工具nodemon、缓存问题、请求超时和网络异常、取消重复请求

Python微信订餐小程序课程视频

https://edu.csdn.net/course/detail/36074

Python实战量化交易理财系统

https://edu.csdn.net/course/detail/35475

1、nodemon 自动重启工具(自动重启基于nodejs开发的服务端应用)

■ nodemon 是一个工具,通过在检测到目录中的文件更改时自动重新启动node应用程序来帮助开发node.js。

//安装nodemon命令(全局安装):
npm install -g nodemon

2、解决缓存问题:当请求资源不变(地址栏的url),不再发送新的请求

  • 解决:通过添加一个随机的请求参数新请求】—通过时间撮new Date( ).getTime( ) 或者 Data.now( )添加随机数
  • 一般不需要咱手动添加,工具都有自动生成一个时间撮
xhr.open('get', 'http://127.0.0.1:8000/server?t=Date.now()');//通过添加一个随机的请求参数【新请求】解决缓存问题

3、Ajax请求超时和网络异常处理

(1)Ajax请求超时:
  • 客户端html处理:设置超时时间timeout和超时回调函数ontimeout
  //设置超时为2s
  xhr.timeout = 2000;
 //超时回调
  xhr.ontimeout = function () {
      alert('网络异常,请稍后再试!')
  }

  • 服务端进行延时提醒:
app.get('/server', (request, response) => {
    //设置响应头(允许跨域)
    response.setHeader('Access-Control-Allow-Origin', '*');
    //设置响应头(允许自定义请求头)
    response.setHeader('Access-Control-Allow-Headers', '*');
 	//设置响应体
    setTimeout(() => {
        response.send('服务端延时响应');  
    }, 3000)
});

(2)网络异常:
  • 客户端html处理:设置网络异常回调函数onerror
  xhr.onerror = function () {
      alert('你的网络似乎除了问题!');
  }

4、Ajax取消请求

■ 通过abort方法
 xhr.abort();

■ 取消重复请求(通过一个布尔的标识变量)
  • isSending初始值为false, send方法执行之后,isSending值为true,获取响应数据,判断状态值为4时,当前请求完成,isSending为false
  • 通过判断isSending 是否为true,为true 执行 abort方法
  //是否正在发送ajax请求
  let isSending = false;
  
  if(isSending) {
        //console.log('正在请求')
        xhr.abort();
  }

  isSending = true;
 //3、发送Ajax请求
 xhr.send();

 //4、事件绑定,处理服务端返回结果
 xhr.onreadystatechange = function () {
    //处理前判断服务端是否返回所有结果和服务端的状态码是2**
    if (xhr.readyState === 4) {
         isSending = false;
    }
 }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
铭斯自动重启。功能介绍: 本软件是定时自动重启计算机工具。它与众多的同类软件的根本区别在于,本软件是以系统服务的形式运行,不需要用户登录系统就能正常执行。 本软件为纯绿色软件,单个文件,不需要安装,能运行于任意路径下。简单。完全免费使用。 使用方法: 1、启动:运行本程序,设置定时自动重启的时间,点击“启动服务”即可。 2、停止:运行本程序,点击“停止服务”即可。 3、设置时间:运行本程序,点击时间的时和分右边的上下微调按钮,调整好时间之后点击“保存”按钮。 4、关闭:启动服务、停止服务、设置时间之后可以关闭本程序。 5、删除:确保服务是在已停止的状态,直接删除。 支持Win8/Win8.1/Win8.1Update1 这个软件的用处: 1、计算机不关机持续提供服务,无人值守。尤其是服务器甚至是托管在机房里的服务器。 2、偶尔计算机上提供的服务(IIS、MSSQL等)失常,必须重启。 3、长期开着计算机,内存占用不被释放、CPU资源占用高等等。重启相当程度上解决了这个问题。 4、用Windows自带的计划任务执行Shutdown命令不成功,原因应该是计划任务主进程没有电源管理权限。 5、同类软件满足不了需求: a、必须要登录之后才会运行。 b、能不需登录以系统服务形式运行的,还要附带批处理文件注册服务、停止服务,使用起来麻烦。 c、功能生涩难懂。 d、过多的无用功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值