原理

发起一个 Ajax 请求,开始记录一个时间,Ajax 返回 sucess 时的,记录这个时间为耗时时间,耗时时间-开始时间得出时间就是耗时的时间,通过耗时时间结果来根据 200,500 来设置辨别网络快慢

代码

new Date ().getTime () 是获取毫秒

$.ajax ({

url: "/study/lag",

timeout: 3000,

success: function (data, text, xhr){

if (xhr.status == 200){

var lag = new Date ().getTime () - start;

if (lag < 200){

$("#lag").attr ("title", "网络畅通:"+lag+"ms").attr ("src", "/study/static/images/ic_network_cell_black_24dp.png")

}else if (lag < 500){

$("#lag").attr ("title", "网络较慢:"+lag+"ms").attr ("src", "/study/static/images/ic_network_cell_black_24dp_lag.png")

}else{

$("#lag").attr ("title", "网络很慢:"+lag+"ms").attr ("src", "/study/static/images/ic_network_cell_black_24dp_block.png")

}

}else{

$("#lag").attr ("title", "网络未连接").attr ("src", "/study/static/images/ic_network_cell_black_24dp_not.png")

}

},

error: function (){

$("#lag").attr ("title", "网络未连接").attr ("src", "/study/static/images/ic_network_cell_black_24dp_not.png")

},

complete: function (){

checkLag ();

}

})

上面只是一个请求,如果我们想隔 1 分钟检测一次呢,怎么办

写个函数,然后定时任务

// 延迟

function checkLag (){

setTimeout (function (){

var start = new Date ().getTime ()

$.ajax ({

url: "https://www.baidu.com",

timeout: 3000,

success: function (data, text, xhr){

if (xhr.status == 200){

var lag = new Date ().getTime () - start;

if (lag < 200){

$("#lag").attr ("title", "网络畅通:"+lag+"ms").attr ("src", "/study/static/images/ic_network_cell_black_24dp.png")

}else if (lag < 500){

$("#lag").attr ("title", "网络较慢:"+lag+"ms").attr ("src", "/study/static/images/ic_network_cell_black_24dp_lag.png")

}else{

$("#lag").attr ("title", "网络很慢:"+lag+"ms").attr ("src", "/study/static/images/ic_network_cell_black_24dp_block.png")

}

}else{

$("#lag").attr ("title", "网络未连接").attr ("src", "/study/static/images/ic_network_cell_black_24dp_not.png")

}

},

error: function (){

$("#lag").attr ("title", "网络未连接").attr ("src", "/study/static/images/ic_network_cell_black_24dp_not.png")

},

complete: function (){

checkLag ();

}

})

}, 1000 * 60)

}

checkLag ()

控制台

function checkLag (){

setTimeout (function (){

var start = new Date ().getTime ();

$.ajax ({

url: "https://www.heibaiketang.com",

timeout: 3000,

success: function (data, text, xhr){

if (xhr.status == 200){

var lag = new Date ().getTime () - start;

if (lag < 200){

console.log ("网络畅通:"+lag+"ms");

}else if (lag < 500){

console.log ("网络较慢:"+lag+"ms");

}else{

console.log ("网络很慢:"+lag+"ms");

}

}else{

console.log ("网络未连接");

}

},

error: function (){

console.log ("网络未连接");

},

complete: function (){

checkLag ();

}

})

},10*1000);

}

checkLag ();

ajax 网络延迟 异步,利用 jQuery 的 Ajax 来实现检查网络延迟多少秒相关推荐

  1. ajax 获取用户ip地址,利用jQuery实现Ajax获取当前IP地区位置代码

    特效描述:利用jQuery实现 Ajax 获取当前IP 地区位置代码.利用jQuery实现Ajax获取当前IP和地区位置代码 代码结构 1. 引入JS 2. HTML代码 AJAX检测ip和地区 $( ...

  2. ajax返回的图片数据格式,jquery发送ajax请求返回数据格式

    jquery向服务器发送一个ajax请求后,可以返回多种类型的数据格式,包括:html,xml,json,text等. 1.html格式的数据 " "+username+" ...

  3. php中jquery ajax请求参数,浅谈Jquery中Ajax异步请求中的async参数的作用

    之前不知道这个参数的作用,上网找了前辈的博客,在此收录到自己的博客,希望能帮到更多的朋友: test.html asy.js function testAsync{ var temp; $.ajax( ...

  4. 利用jquery操作ajax,利用jquery对ajax操作,详解原理(附代码)

    1.jQuery load() 方法 jQuery load() 方法是简单但强大的 AJAX 方法. load() 方法从服务器加载数据,并把返回的数据放入被选元素中. 语法: $(selector ...

  5. 基于jquery的ajax聊天室系统,基于jQuery的Ajax聊天室应用毕业设计(含外文翻译)...

    基于jQuery的Ajax聊天室应用毕业设计(含外文翻译) 毕业设计(论文) I 基于基于 jQuery 的的 Ajax 聊天室应用聊天室应用 摘摘 要要 随着网络的逐渐普及,以及网络技术的不断发展, ...

  6. ajax post提交数组6,jQuery的ajax()、post()方法提交数组,参数[] 问题

    当用$.ajax()向后台提交参数时,如果参数中数组的话一般在后台会用List,或Integer[] 等数组对象进行接收. 比如: $.ajax({ type: "POST", u ...

  7. ajax静态加载图片,JQuery实现Ajax加载图片的方法

    本文实例讲述了JQuery实现Ajax加载图片的方法.分享给大家供大家参考,具体如下: 最近在学习JQuery,想从原理上模拟一下无刷新的相册浏览. 最先想到的思路是利用缓存,也就是先显示提示消息,然 ...

  8. ajax提交时页面转圈,jquery的ajax提交时loading提示的处理方法

    方法1:使用ajaxStart方法定义一个全局的"加载中..."提示 $(function(){ $("#loading").ajaxStart(functio ...

  9. ajax没返回响应数据,jQuery的Ajax时无响应数据的解决方法

    jQuery的Ajax时无响应数据的解决方法 复制代码 代码如下: $.ajax( { type: "POST", url: "/MemberComment.aspx/G ...

  10. html ajax提交表单实例,jQuery使用$.ajax提交表单完整实例

    本文实例讲述了jQuery使用$.ajax提交表单的方法.分享给大家供大家参考,具体如下: 首先,新建Login.html页面: /p> "http://www.w3.org/TR/x ...

最新文章

  1. ssh2 文件服务器,使用Node.js和SSH2从SFTP服务器读取文件
  2. mysql 重置root_MySQL 重置Mysql root用户账号密码
  3. 关于JS获取select值的两种实现方法
  4. Reduce归约 证明原理
  5. 查看磁盘阵列 使用率(简单)
  6. 前端js如何生成一个对象,并转化为json字符串
  7. idea关联本地的svn项目
  8. 亚马逊、速卖通、temu、国际站卖家如何做自养号测评?干货分享
  9. 常见的图像分割方法有以下几种
  10. linux 命令 unicode,linux下中文转unicode
  11. powerdns 安装部署备忘
  12. Ngnix 配置文件快速入门
  13. 微信小程序实现微信APP上的扫一扫扫码跳到小程序对应的结果页面和签字等功能
  14. b站React禹哥版视频笔记-React应用(基于react脚手架)
  15. Java8新特性之Stream流式编程
  16. #XMind 8 Update 8下载与补丁激活
  17. 雨中竞速,本周F1DeltaTime大奖赛带你清凉一下
  18. 如何在线将XPS转换成PDF?
  19. 使用命令行进行文件操作
  20. 【数据编制架构】什么是数据编织(Data fabric)? 完整指南

热门文章

  1. 【收藏】李纪为:初入NLP领域的一些小建议
  2. 【机器学习】今天详细谈下Soft Margin SVM和 SVM正则化
  3. 干货 | 一文掌握常用的机器学习模型
  4. 【每日算法Day 98】慈善赌神godweiyang教你算骰子点数概率!
  5. 深度学习14-实战三-Google涂鸦识别挑战项目(上)
  6. 机器学习入门——numpy与matplotlib的使用简介
  7. 回顾2020年那些“领域第一本”,每一本都强烈推荐!
  8. 博文荐书:阿里运维、Java微服务、Scala编程
  9. 【震撼】《京东技术解密》获众大神集体推荐,4千人10年经验一次放送
  10. 解决DEFINE_string(result_path, result, Path for results) NameError:name 'os' is not defined